Sndhy3478:
Kotlinでは、私は関数を記述したかったが、私は「とそれを書くための新しい方法を参照val
使用してプロパティを」get()
。以下の2つの違いは何ですか。
1) fun sample(): String {
return "text"
}
2) val sample: String
get() = "text"
ryfterek:
コメントで述べたように、2つのスニペットの間には大きな違いはありませんがあります。私はいくつかのマイナーな違いであなたを指すことができます:
- スニペットスニペットは、#2が宣言されたプロパティになり、一方、#1は、宣言された関数として認識されるであろう。これは、違いは、リフレクションベースのロジックが適用されるべきであるになるかもしれません。
- スニペット#2には、引数を受け入れることができませんでしたと宣言とは異なるタイプの応答を返すことができませんでした
val
。これは、の性質によるものですget()
抽象化。スニペット#1は、簡単に入力引数を受け入れるように拡張することができます。 - スニペット#2は、バッキングフィールド不満IDEは、プロパティのに影響を与えない性質のために生成されている場合があります
get()
。 - 一般的に言って、スニペット#2は、おそらくに減少させなければならない可能性があり
val sample: String = "text"
。get()
宣言は冗長です。