kotlin

38.智能类型转换

2019-10-03  本文已影响0人  写代码的向日葵
fun main(args: Array<String>) {
    val shepHerdDog: Dog = ShepHerdDog()
    val ruralDog = RuralDog()

    //想调用herdShep方法 1。先判断是否是ShepHerdDog 2。转换成ShepHerdDog类型
    if (shepHerdDog is ShepHerdDog) { //判断完之后已经将shepHerdDog从Dog类型转换为ShepHerdDog类型
        shepHerdDog.herdShep()
    }
    ruralDog.watchDoor()
}

/**
 * 狗
 */
abstract class Dog

/**
 * 牧羊犬
 */
class ShepHerdDog : Dog() {

    fun herdShep() {
        println("牧羊犬放羊")
    }
}

/**
 * 中华田园犬
 */
class RuralDog : Dog() {
    fun watchDoor() {
        println("中华田园犬看家")
    }
}

上一篇 下一篇

猜你喜欢

热点阅读