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("中华田园犬看家")
}
}
网友评论