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