Kotlin this詳細および実例
Kotlin this詳細および実例
現在の関数の受信者を表すために、this表現を使います。は、クラスのメンバー関数において、thisがこのクラスの現在のオブジェクトの例を指す。 は、拡張関数において、または受信者の関数ワードの額面値(function literal)において、thisは、関数を呼び出したときに、ポイント番号の左側に渡される受信者パラメータを表します。
thisが定義されていない場合は、現在のコードを含む一番内側の範囲を指します。他の範囲のthisを指す場合は、ラベルの定義子が必要です。
限定符付きthis
より外層範囲(クラス、または拡張関数、またはラベル付きの受信者の関数ワードの値)内のthisにアクセスするために使用します。this@labelその中の@labelはラベルで、私達が訪問したい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
}
}
}
}
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。