[備忘]Kotlinの継承
インプットの記録
openキーワード
oepn class HogeHogeが親クラスだとして、Hogeをサブクラスに継承させるためには open キーワードを使わないといけないらしい。
Kotlinはクラスの派生に関して、デフォルトはオープンではなくクローズド(privateみたいなもの)なので、それをオープンにするためにはopenが必要だと。ちなみにクラスの中の関数にも、openをつけないとサブクラスでその関数は使えない。
サブクラスで親クラスの関数やプロパティを使いたい時はoverrideを使う
protectedキーワード
open class PeachTech() {
    protected open val president = "kyosida"protectedキーワードはそのクラスとサブクラスでしかアクセスできないようにするもの。つまりは
fun main(args: Array<String>) {
    val circle = PeachTech()
    println(circle.president()) ❌
}上記がダメということだ。main関数はPeachTechクラスとは無関係であるからだ。
class PeachTechChild: PeachTech() { //PeachTechを継承(つまりサブクラス)
      override val president = "na2kera"というのは可能である。
protectedキーワードはそのクラスとサブクラスでしかアクセスできないようにするもの
のとおりだが、protected を使うことでPeachTechというクラスとそのサブクラスであるPeachTechChild のみアクセス可能になるからだ