Scala中Traits与抽象类的区别
Scala中的抽象类
Scala中的Abstract类是使用abstract关键字创建的。抽象类中包含抽象方法和非抽象方法。
它们不支持多重继承。
语法:
abstract class class_name{ def abstract_mathod def general_method(){ } }
示例
abstract class bike { def speed def display() { println("This is my new Bike") ; } } class ninja400 extends bike { def speed() { println("Top Speed is 178 Kmph"); } } object myObject { def main(args: Array[String]) { var obj = new ninja400(); obj.display() ; obj.speed() ; } }
输出结果
This is my new Bike Top Speed is 178 Kmph
Scala特质
Scala中的特质是使用trait关键字创建的。特性包含抽象和非抽象的方法和字段。这些类似于Java中的接口。它们还允许多重继承,并且与Java中的继承者相比,它们更强大。
语法:
trait trait_name{ }
示例
trait bike { def speed def display() { println("This is my new Bike") ; } } class ninja400 extends bike { def speed() { println("Top Speed is 178 Kmph"); } } object myObject { def main(args: Array[String]) { var obj = new ninja400(); obj.display() ; obj.speed() ; } }
输出结果
This is my new Bike Top Speed is 178 Kmph