Idea下kotlin的抽象类和继承,多态

110 阅读1分钟
/**
 * 抽象的类
 */
abstract class Human(var name:String) {
    abstract fun eat()
       abstract fun read()

}
/**
 * 实现的类
 */
 class Man(name:String):Human(name) {
    override fun read() {
        println("${name}躺着看书")
    }

    override fun eat() {
        println("${name}大口吃饭")

    }

}
/**
 * 实现的类
 */
 class Woman(name:String):Human(name) {
    override fun read() {//
        println("${name}一边吃东西一边看书")
    }

    override fun eat() {
        println("${name}细嚼慢咽吃饭")
    }

}
fun main(args: Array<String>) {
   var person=Man("张三")
    person.eat()
    var person2=Woman("小芳")
    person2.eat()
//    多态的概念,看书的方式不同
    var person3=Woman("少司命")
    person3.read()
    var person4=Man("天明")
    person4.read()
}
    println("**************************************")
//    集合用法
    var list= listOf<Human>(person,person2,person3,person4)
    for (li in list){
        li.read()
    }

这里写图片描述