我是scala新手。我正在学习特质,似乎他们可以有具体的方法。这是我写的代码。Scala - 选择另一种特征的方法
trait A{
def print : Unit = {
println("I am in A")
}
}
trait B{
def print : Unit = {
println("I am in B")
}
}
trait C {
def print : Unit = {
println("I am in C")
}
}
class D extends A with B with C{
}
object Main extends App {
val d: D = new D
d.print
}
明显地给出了编译错误。编译器要求我重写D中的打印方法。我不想写一个新的方法。我只想选择C的打印方法。有没有什么办法可以选择只有C的打印方法?我希望我已经说清楚了。如果问题听起来很愚蠢,我很抱歉。我在尝试学习。提前致谢。
什么是写这个ONELINE'覆盖D.高清打印= super.print'的问题?它只会调用C的方法。 – 2015-03-25 06:27:08
@ S.K,谢谢。如果我想要B的打印或A的打印件怎么办? – 2015-03-25 06:49:38
改变继承顺序,因为'D类扩展了A,C用B' – 2015-03-25 06:50:36