Kotlin Getters and Setters (cu exemplu)

În acest articol, veți învăța să utilizați getters și setere în Kotlin cu ajutorul unui exemplu.

Înainte de a afla despre getters și setter, asigurați-vă că verificați clasa și obiectele Kotlin.

În programare, getters sunt folosite pentru a obține valoarea proprietății. În mod similar, seterii sunt utilizați pentru stabilirea valorii proprietății.

În Kotlin, getters și setere sunt opționale și sunt generate automat dacă nu le creați în programul dvs.

Cum funcționează getters și seters?

Următorul cod în Kotlin

 clasa Persoană (var name: String = "defaultValue")

este echivalent cu

 clasă Persoană (var nume: Șir = "Valoare implicită" // getter get () = câmp // set set (valoare) (câmp = valoare))

Când instanțiați obiectul Personclasei și inițializați proprietatea nume, acesta este trecut la valoarea parametrului setatorilor și setează câmpul la valoare.

 val p = Person () p.name = "jack"

Acum, când accesați proprietatea de nume a obiectului, veți obține câmp din cauza codului get() = field.

 println ("$ (p.name)")

Iată un exemplu de lucru:

 fun main(args: Array) ( val p = Person() p.name = "jack" println("$(p.name)") ) class Person ( var name: String = "defaultValue" get() = field set(value) ( field = value ) )

Când rulați programul, ieșirea va fi:

 jack 

Acesta este modul în care funcționează în mod prestabilit getters și seters. Cu toate acestea, puteți modifica valoarea proprietății (modificați valoarea) folosind getters și setere.

Exemplu: Modificarea valorii proprietății

 fun main(args: Array) ( val maria = Girl() maria.actualAge = 15 maria.age = 15 println("Maria: actual age = $(maria.actualAge)") println("Maria: pretended age = $(maria.age)") val angela = Girl() angela.actualAge = 35 angela.age = 35 println("Angela: actual age = $(angela.actualAge)") println("Angela: pretended age = $(angela.age)") ) class Girl ( var age: Int = 0 get() = field set(value) ( field = if (value = 18 && value <= 30) value else value-3 ) var actualAge: Int = 0 )

Când rulați programul, ieșirea va fi:

 Maria: vârsta reală = 15 Maria: vârsta pretinsă = 18 Angela: vârsta reală = 35 Angela: vârsta pretinsă = 32

Aici, proprietatea actualAge funcționează conform așteptărilor.

Cu toate acestea, există o logică suplimentară în care setatorii modifică valoarea proprietății de vârstă.

Articole interesante...