Scala基础应用(3)- 特质
特质是scala实现多继承的方式,类似于interface类, 但也有区别,在特质里,还可以定义实现体方法,特质可以被其它类继承的方式是使用with或extends
样式
trait 名称 { this: 类名 // 该特质只能被该类或该类的子类继承- 自身类型 方法定义或方法体 }
堆叠
试想两个特质定义了同样的方法会怎么样?它会堆叠,即根据继承的顺序调用所有with相同的方法,而不会覆盖。 堆叠方法是否需要定义为abstract?
特质是scala实现多继承的方式,类似于interface类, 但也有区别,在特质里,还可以定义实现体方法,特质可以被其它类继承的方式是使用with或extends
样式
trait 名称 {
this: 类名 // 该特质只能被该类或该类的子类继承- 自身类型
方法定义或方法体
}
堆叠
试想两个特质定义了同样的方法会怎么样?它会堆叠,即根据继承的顺序调用所有with相同的方法,而不会覆盖。
堆叠方法是否需要定义为abstract?