以下两个有什么区别?
1#
trait B extends A {
}
Run Code Online (Sandbox Code Playgroud)
2#
trait B { self: A =>
}
Run Code Online (Sandbox Code Playgroud)
哪里A是抽象类.
>>编辑:
请解释以下Duck具有可插拔飞行和嘎嘎行为的s 示例:
abstract class Duck {
def fly(): Unit
def quack(): Unit
def swim() {
println("Woodoowoodoowoodoo...")
}
}
trait FlyingWithWings extends Duck {
override def fly() {
println("Me can fliez! :D")
}
}
trait FlyingNoWay { self: Duck =>
def fly() {
println("Me cannot fliez! :(")
}
}
trait Quack extends Duck {
override def quack() {
println("Quack! …Run Code Online (Sandbox Code Playgroud)