Android开发经验谈程序员Android技术知识

kotlin 基础 11 多态

2019-04-07  本文已影响8人  zidea
kotlin.jpeg

在计算机我们通过抽象事物的共同点对事物进行分类,在现实中我们人类认识是否也是通过归类的方式来认识事物,区分事物。分类通常也是采取抽象方式来进行分类。这里我们把之前的定义 Human 修改为抽象类,通过给 class 添加 abstract 更改为抽象类。

abstract class Human(var name:String){
    abstract fun walk()

}
class XMan(name:String):Human(name){

    override fun walk(){
        println("walk two seepd ")
    }
}

class Man(name: String):Human(name){
    override fun walk() {
        println("normal speed walk")
    }
}
class Woman(name:String):Human(name){
    override fun walk() {
        println("normal speed walk")
    }

}

那么我们回头再看一看多态


xmen.jpeg
class XMan(name:String):Human(name){
    override fun move() {
        println("can fly")
    }

    override fun walk(){
        println("walk two seepd ")
    }
}
 val icanfly = XMan("icanfly")
    val tom = Man("tom")
    val alice = Woman("alice")

    var houseList = listOf<Human>(icanfly,tom,alice)
    for( human in houseList){
        human.move()
    }
kotlin_end.jpg
上一篇 下一篇

猜你喜欢

热点阅读