trait 入门:
trait类似于java的接口,不过比java接口功能更强大,可以有实体成员,抽象成员,实体方法,抽象方法。
如果需要混入的特质不止一个用with关键字。
带有特质的对象:(特质可以随时被混入对象中)
trait Logged { def log(msg: String){} } trait ConsoleLogger extends Logged { override def log(msg: String){ println(msg) } } class SavingsAccount extends Logged { log("funds") } new SavingsAccount() with ConsoleLogger
运行结果:
funds