Kotlin: Public get private set var


126

Kotlin'de bir genel alıcıya ve özel (yalnızca dahili olarak değiştirilebilir) ayarlayıcıya sahip bir varlığın doğru tanımlanma yolu nedir?

Yanıtlar:


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

Bakınız: Özellikler Alıcı ve Ayarlayıcı


13
Bunun private setyeni bir satırda olması gerektiğini unutmayın .
Jasper Blues

30
... veya aynı satırda, noktalı virgülden sonra:var abc: String = ""; private set
Boris B.

4
Yine de birincil kurucu alanıyla ne yapacağımı bilemiyorum.
androidguy

2
@ user3175580 Bu mümkün değil. Birincil yapıcının içinde bir yerel alan kullanın ve ardından değeri "class Foo (_bar: String) {var bar: String = _bar}
D3xter

3
@JasperBlues ... Aksi takdirde, önce noktalı virgül eklemeniz gerekir private set.
Moses Aprico


3

var name : String = "Peter"
    private set

Varsayılan olarak tüm özellikler ve işlevler Kotlin'de geneldir. Bu nedenle, alıcı varsayılan olarak genel iken ayarlayıcının açıkça özel olarak bildirilmesi gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.