iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Kotlin】data classでinterfaceに準拠する

Kotlinのdata classinterfaceに準拠する際の書き方をメモ📱

結論

data classのイニシャライザに、Sportのインターフェースを含める場合には、下記のようにoverrideでプロパティを宣言する必要があるみたいです✍️

interface Sport {
    var name: String
}

data class Soccer(
    var leagueName: String,
    override var name: String
) : Sport

これだとインターフェースのnameプロパティ扱いにはならないのでダメです🙅🏻

data class Soccer(
    var leagueName: String,
    var name: String
) : Sport

これだとイニシャライザにプロパティを含められません🙅🏻

data class Soccer(
    var leagueName: String
) : Sport {
    override var name: String
        get() = TODO("Not yet implemented")
        set(value) {}
}

てな感じで本日も以上になります🍺

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com