Kotlin Getters en Setters (met voorbeeld)

In dit artikel leer je aan de hand van een voorbeeld getters en setters in Kotlin te gebruiken.

Voordat u meer over getters en setter leert, moet u de Kotlin-klasse en -objecten controleren.

Bij het programmeren worden getters gebruikt om waarde van het onroerend goed te krijgen. Evenzo worden setters gebruikt om de waarde van het onroerend goed in te stellen.

In Kotlin zijn getters en setters optioneel en worden ze automatisch gegenereerd als u ze niet in uw programma aanmaakt.

Hoe getters en setters werken?

De volgende code in Kotlin

 class Person (var name: String = "defaultValue")

is gelijk aan

 class Person (var name: String = "defaultValue" // getter get () = veld // setter set (waarde) (veld = waarde))

Wanneer u het object van de Personklasse instantiëert en de eigenschap name initialiseert, wordt deze doorgegeven aan de parameterwaarde setters en wordt veld ingesteld op waarde.

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

Als u nu de eigenschap name van het object opent, krijgt u veld vanwege de code get() = field.

 println ("$ (p.name)")

Hier is een werkend voorbeeld:

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

Wanneer u het programma uitvoert, is de uitvoer:

 jack 

Dit is hoe getters en setters standaard werken. U kunt de waarde van de eigenschap echter wijzigen (waarde wijzigen) met getters en setters.

Voorbeeld: waarde van het onroerend goed wijzigen

 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 )

Wanneer u het programma uitvoert, is de uitvoer:

 Maria: werkelijke leeftijd = 15 Maria: voorgewende leeftijd = 18 Angela: werkelijke leeftijd = 35 Angela: voorgewende leeftijd = 32

Hier werkt de eigenschap actualAge zoals verwacht.

Er is echter extra logica om de waarde van de leeftijdseigenschap te wijzigen.

Interessante artikelen...