Kotlin抽象类与接口

2021-11-19  本文已影响0人  ZoranLee

抽象类表示“is-a”的关系,而接口所代表的是“has-a”的关系。

抽象类与抽象成员

抽象是相对于具象而言的。

image.png
abstract class Shape {
    abstract var width: Double
    abstract var height: Double
    abstract fun area(): Double
}

class Rectangle(override var width: Double, override var height: Double) : Shape() {

    private val name: String? = null

    override fun area(): Double {
        return PI * width * height
    }

    companion object {
        const val PI = 3.14
    }
}

接口

接口是一种比抽象类更加抽象的“类”
接口本身代表的是一种“类型”的概念。
接口是用来建立类与类之间的协议

Kotlin与Java一样,继承只能存在一个父类(单继承)


interface ProjectPrivate {
    val name: String
    val owner: String
    fun save(project: Project)

    fun print() {
//        println()
    }
}

class ProjectPrivateImpl(override val name: String, override val owner: String) : ProjectPrivate {
    override fun save(project: Project) {

    }
}
上一篇下一篇

猜你喜欢

热点阅读