trait继承class
定义
trait也可以继承class的。特质会将class中的成员都继承下来。
示例
示例说明
定义一个特质,继承自一个class
步骤
创建一个MyUtils类,定义printMsg方法
创建一个Logger特质,继承自MyUtils,定义log方法
创建一个Person类,添加name字段
继承Logger特质
实现sayHello方法,调用log方法
添加main方法,创建一个Person对象,调用sayHello方法
参考代码:
class MyUtil {
def printMsg(msg:String) = println(msg)
}
trait Logger extends MyUtil {
def log(msg:String) = printMsg("Logger:" + msg)
}
class Person extends Logger {
def sayHello() = log("你好")
}
def main(args: Array[String]): Unit = {
val person = new Person
person.sayHello()
}
结果: