Držitelia a zakladatelia spoločnosti Kotlin (s príkladom)

V tomto článku sa na príklade naučíte používať getry a setre v Kotline.

Predtým, ako sa dozviete o getroch a setteroch, nezabudnite skontrolovať triedu a objekty Kotlin.

V programovaní sa getre používajú na získanie hodnoty nehnuteľnosti. Podobne sa nastavovače používajú na nastavenie hodnoty nehnuteľnosti.

V Kotline sú getre a setre voliteľné a automaticky sa generujú, ak ich nevytvoríte vo svojom programe.

Ako fungujú getre a setre?

Nasledujúci kód v Kotline

 osoba triedy (var name: String = "defaultValue")

je ekvivalentné k

 trieda Osoba (var name: String = "defaultValue" // getter get () = pole // setter set (hodnota) (pole = hodnota))

Keď vytvoríte inštanciu objektu Persontriedy a inicializujete vlastnosť name, odovzdá sa do hodnoty parametra setters a nastaví pole na hodnotu.

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

Teraz, keď vstúpite do vlastnosti name objektu, získate pole kvôli kódu get() = field.

 println ("$ (p.name)")

Tu je funkčný príklad:

 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 ) )

Po spustení programu bude výstup:

 zdvihák 

Takto predvolene fungujú getre a setre. Môžete však zmeniť hodnotu vlastnosti (upraviť hodnotu) pomocou getra a setra.

Príklad: Zmena hodnoty nehnuteľnosti

 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 )

Po spustení programu bude výstup:

 Maria: skutočný vek = 15 Maria: predstieraný vek = 18 Angela: skutočný vek = 35 Angela: predstieraný vek = 32

Tu funguje vlastnosť actualAge podľa očakávania.

Existuje však ďalšia nastavovač logiky na úpravu hodnoty vlastnosti age.

Zaujímavé články...