Trait in Scala

trait Logging {
    override def toString = "Logging"
}

class A extends Logging {
    override def toString = "A->" + super.toString
}

trait B extends Logging {
    override def toString = "B->" + super.toString
}

trait C extends Logging {
    override def toString = "C->" + super.toString
}

class D extends A with B with C {
    override def toString = "D->" + super.toString
}



def main(args: Array[String]) {
    val d = new D()
    //print out "D->C->B->A->Logging"
    println(d)
}

The above code summarizes how trait works in Scala.

猜你喜欢

转载自blog.csdn.net/qq_25527791/article/details/88529636