Kotlin接口实现

 面向接口编程 = 多态

open class Person(val name: String, val age: Int) {
    fun think() {
        println("Mr./Ms.$name, who is $age years old, is thinking!")
    }
}

interface Study {
    fun preview()
    fun takeNotes()
    fun review()
/*  fun takeNotes() {
        println("This's the function of taking notes.")
    }

解释:如果接口中的一个函数拥有函数体,那这个函数体就是其默认实现,
当一个类去实现Study接口时,便只会强制要求实现preview和review函数*/
}

class Student(name: String, age: Int) : Person(name, age), Study {
    override fun preview() {
        println("Mr./Ms.$name is previewing.")
    }
    override fun takeNotes() {
        println("Mr./Ms.$name is taking notes.")
    }
    override fun review() {
        println("Mr./Ms.$name is reviewing.")
    }
}

fun main () {
    val student = Student("Jack", 19)
    student.preview()
    student.takeNotes()
    student.review()
    student.think()
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值