Scala 的特质 (接口)01
package scala_learn.demo06_trait
/**
* Created by liguohua on 2017/3/1.
*/
class O1_TraitDemo {
}
object O1_TraitDemo {
def main(args: Array[String]) {
var animal: Animal = new Dog
println(animal.name + "\t" + animal.age + "\t" + animal.weight)
animal.sleep
animal.run
println("*****************************************")
animal = new Cat
println(animal.name + "\t" + animal.age + "\t" + animal.weight)
animal.sleep
animal.run
}
}
trait Animal {
val name: String
var age: Int
val weight = 18
def sleep(): Unit = {
println("animal runing... !")
}
def run
}
class Dog extends Animal {
override val name: String = "wangcai"
override var age: Int = 3
override def run: Unit = {
println("dog runing...")
}
}
class Cat extends Object with Animal {
override val name: String = "ketty"
override var age: Int = 5
override def run: Unit = {
println("cat running ......")
}
}