Kotlin:パブリック取得プライベートセット変数


125

パブリックゲッターとプライベート(内部でのみ変更可能な)セッターを持つKotlinでvarを定義する正しい方法は何ですか?

回答:


193
var setterVisibility: String = "abc" // Initializer required, not a nullable type
    private set // the setter is private and has the default implementation

参照:プロパティのゲッターとセッター


13
private set改行する必要があることに注意してください。
ジャスパーブルース

29
...または同じ行のセミコロンの後:var abc: String = ""; private set
Boris B.

4
でも、プライマリコンストラクタフィールドをどうするか迷っています。
androidguy 2017年

2
@ user3175580これは不可能です。プライマリコンストラクター内のローカルフィールドを使用し、 "class Foo(_bar:String){var bar:String = _bar}
D3xter

3
@JasperBlues ...それ以外の場合は、前にセミコロンを追加する必要がありますprivate set
モーゼスアプリコ2017年


2

var name : String = "Peter"
    private set

デフォルトでは、すべてのプロパティと関数はKotlinでパブリックです。したがって、getterはデフォルトでpublicですが、setterは明示的にプライベートに宣言する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.