Kotlin Getter und Setter (mit Beispiel)

In diesem Artikel lernen Sie anhand eines Beispiels, wie Sie Getter und Setter in Kotlin verwenden.

Bevor Sie sich mit Getter und Setter vertraut machen, überprüfen Sie unbedingt die Kotlin-Klasse und -Objekte.

Bei der Programmierung werden Getter verwendet, um den Wert der Eigenschaft zu ermitteln. In ähnlicher Weise werden Setter zum Festlegen des Werts der Eigenschaft verwendet.

In Kotlin sind Getter und Setter optional und werden automatisch generiert, wenn Sie sie nicht in Ihrem Programm erstellen.

Wie funktionieren Getter und Setter?

Der folgende Code in Kotlin

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

ist äquivalent zu

 Klasse Person (var name: String = "defaultValue" // getter get () = Feld // Setter set (Wert) (Feld = Wert))

Wenn Sie das Objekt der PersonKlasse instanziieren und die Eigenschaft name initialisieren, wird es an den Parameterwert des Setters übergeben und das Feld auf value gesetzt.

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

Wenn Sie jetzt auf die Eigenschaft name des Objekts zugreifen, erhalten Sie aufgrund des Codes ein Feld get() = field.

 println ("$ (p.name)")

Hier ist ein Arbeitsbeispiel:

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Jack 

So funktionieren Getter und Setter standardmäßig. Sie können den Wert der Eigenschaft jedoch mithilfe von Get- und Setzern ändern (Wert ändern).

Beispiel: Ändern des Werts der Eigenschaft

 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 )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Maria: tatsächliches Alter = 15 Maria: vorgetäuschtes Alter = 18 Angela: tatsächliches Alter = 35 Angela: vorgetäuschtes Alter = 32

Hier funktioniert die Eigenschaft actualAge wie erwartet.

Es gibt jedoch zusätzliche Logik-Setter, um den Wert der Alterseigenschaft zu ändern.

Interessante Beiträge...