scala学習ノート(三)Trait

2090 ワード

Scalaの特質はJavaのインタフェースに似ているが、traitには実現の方法もあれば、属性もある.1つのtraitならextendsで残りはwith
trait Person{
    def eat(str:String)={
        println(str)
    }
}
trait Worker{
    def work{
        println("working")
    }
}
class Student extends Worker with Person 
val student =new Student
student.eat("   ")
student.work

traitのメソッドとプロパティはリロードできます.リロード方法と継承は同じです.
trait Person{
    val name:String
    val age=50
    }
trait Worker{
    val age =25
    }
class Studentj extends Person with Worker {
    val name:String ="zhangsan"
    override val age = 15 //override  age  
}