介面中的屬性

你可以在介面中宣告屬性。由於介面不能具有狀態,因此你只能將屬性宣告為抽象或通過為訪問器提供預設實現。

interface MyInterface {
    val property: Int // abstract

    val propertyWithImplementation: String
        get() = "foo"

    fun foo() {
        print(property)
    }
}

class Child : MyInterface {
    override val property: Int = 29
}