kotlin

37.多态

2019-10-03  本文已影响0人  写代码的向日葵

1. 同种功能,不行的表现

2. 通过父类接收 执行的是子类的方法

3. 代码如下:

fun main(args: Array<String>) {
    val dog: Animal = Dog()
    val cat: Animal = Cat()
    dog.call()
    cat.call()
}

abstract class Animal {

    var color: String = ""

    open fun call() {
        println("动物叫")
    }
}

/**
 * 狗
 */
class Dog : Animal() {
    override fun call() {
        println("狗汪汪叫")
    }
}

/**
 * 猫
 */
class Cat : Animal() {
    override fun call() {
        println("猫喵喵叫")
    }
}
image.png
上一篇 下一篇

猜你喜欢

热点阅读