Kotlin语法基础之面向对象编程接口的实现
发布日期:2021-05-06 00:55:41 浏览次数:18 分类:精选文章

本文共 1148 字,大约阅读时间需要 3 分钟。

1. Kotlin接口

Study接口:
interface Study {    fun readBooks()    fun doHomeWork()}

引例:

fun main() {    doStudy(Student("Tom", 18))}open class Person(val name: String, val age: Int) {}class Student(name: String, age: Int) : Person(name, age), Study {    override fun readBooks() {        println("$name is reading")    }    override fun doHomeWork() {        println("$name is doing homework")    }}fun doStudy(study: Study) {    study.readBooks()    study.doHomeWork()}

运行结果:

在这里插入图片描述

熟悉Java的人都知道, Java中继承使用的关键字是extends, 实现接口使用的关键字是implements, 而Kotlin中统一使用冒号: 中间用逗号分隔我们可以对接口中的函数选择默认实现(从jdk1.8开始有这个功能)
interface Study {       fun readBooks()    fun doHomeWork(){           println("I'm doing homework now.")    }}
如果接口中的函数有了函数体, bane函数体中的内容就是它的默认实现. 现在当一个类去实现Study接口时, 只会强制要求重写readBooks方法, 而doHomework方法可以选择实现, 如果不去实现, 则使用默认的实现逻辑.

测试代码:

fun main() {       doStudy(Student("Tom", 18))}open class Person(val name: String, val age: Int) {   }class Student(name: String, age: Int) : Person(name, age), Study {       override fun readBooks() {           println("$name is reading")    }}fun doStudy(study: Study) {       study.readBooks()    study.doHomeWork()}

运行结果:

在这里插入图片描述



上一篇:Kotlin中数据类和单例类的实现和讲解
下一篇:Kotlin语言之面向对象编程

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月05日 19时05分48秒