Scala中Traits和抽象类的区别。
Traits
Traits与Java中的接口相似,并且使用trait关键字创建。
抽象类
抽象类类似于Java中的抽象类,并使用abstract关键字创建。
示例
以下是Scala中的程序,用于显示特性和抽象类的用法。
trait SampleTrait {
//抽象方法
def test
//非抽象方法
def tutorials() {
println("Traits tutorials")
}
}
abstract class SampleAbstractClass {
//抽象方法
def test
//非抽象方法
def tutorials() {
println("Abstract Class tutorial")
}
}
class Tester extends SampleAbstractClass {
def test() {
println("Welcome to Nhooo")
}
}
class TraitTester extends SampleTrait {
def test() {
println("Welcome to Nhooo")
}
}
object HelloWorld {
// Main method
def main(args: Array[String]) {
var obj = new Tester()
obj.tutorials()
obj.test()
var obj1 = new TraitTester()
obj1.tutorials()
obj1.test()
}
}输出结果
Abstract Class tutorial Welcome to Nhooo Traits tutorials Welcome to Nhooo
以下是Scala中Traits和AbstractClass之间的一些重要区别。
抽象类仅支持单继承。
Trait可以添加到对象实例中。
抽象类可以具有参数化的构造函数。
如果特性没有任何实现,则它们可以与Java互操作。
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短