Kotlin this詳細および実例

1061 ワード

Kotlin this詳細および実例
現在の関数の受信者を表すために、this表現を使います。
  • は、クラスのメンバー関数において、thisがこのクラスの現在のオブジェクトの例を指す。
  • は、拡張関数において、または受信者の関数ワードの額面値(function literal)において、thisは、関数を呼び出したときに、ポイント番号の左側に渡される受信者パラメータを表します。
  • thisが定義されていない場合は、現在のコードを含む一番内側の範囲を指します。他の範囲のthisを指す場合は、ラベルの定義子が必要です。
    限定符付きthis
    より外層範囲(クラス、または拡張関数、またはラベル付きの受信者の関数ワードの値)内のthisにアクセスするために使用します。this@labelその中の@labelはラベルで、私達が訪問したいthisの所属範囲を表しています。
    
    class A { //       @A
      inner class B { //       @B
        fun Int.foo() { //       @foo
          val a = this@A //    A   this
          val b = this@B //    B   this
          val c = this //    foo()       ,    Int  
          val c1 = this@foo //    foo()       ,    Int  
          val funLit = lambda@ fun String.() {
            val d = this //    funLit     
          }
          val funLit2 = { s: String ->
            //    foo()       ,           Lambda         
            val d1 = this
          }
        }
      }
    }
    
    
    読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。