拡張コンストレイントクラス


💌 拡張クラス


📌 かくちょうげんり


💜 拡張とは?

  • クラスの関数とProperty宣言
  • fun class명.확장함수명()

    📌 プロジェクトとコンボオブジェクトの展開


    Property拡張

  • getのみ)関数を使用して
  • を初期化

    💜 Companionオブジェクトを展開

  • companion
  • class Test{
        companion object{
            val data1: Int = 10
            fun myFun1(){
                println("companion object myFun1()...")
            }
        }
    }
    val Test.Companion.data2: Int
        get() = 20
    
    fun Test.Companion.myFun2(){
        println("extension myFun2()...")
    }
    
    fun main(args: Array<String>){
        println("data1 : ${Test.data1}.. data2 : ${Test.data2}")
        Test.myFun1()
        Test.myFun2()
    }
    🖥
    data1 : 10.. data2 : 20
    companion object myFun1()...
    extension myFun2()...

    📌 展開構文の場所に応じて使用


    💜 最上位レベルで作成

  • 外部ファイルで使用する場合は、
  • を別途インポートする必要がある.

    💜 他のクラスで作成

  • 拡張ターゲット:拡張クラス
  • 拡張構文:Dispatch Receiver(Dispatch Class)
    ->Dispatch Reserverで宣言された拡張プラグインは、Dispatch/Extension Reserverのすべての関数
  • にアクセスできます.