Kotlin - Getters und Setter verstehen

8

Kotlin generiert automatisch seine Getter und Einstellungen, aber ich beziehe mich nie auf sie? Was ist der richtige Weg, um einen benutzerdefinierten Getter / Setter in Kotlin zu schreiben? Wenn ich myObj.myVar = 99 sage, habe ich das Gefühl, dass myVar ein öffentliches Feld von myObj ist, auf das ich direkt zugreife? Was passiert hier eigentlich?

    
Vince 05.11.2016, 13:04
quelle

1 Antwort

18

Dies wurde an einigen Stellen beantwortet, aber ich dachte mir, dass ich ein konkretes Beispiel für Leute geben würde, die von Java / C # / C / C ++ nach Kotlin wechselten und die gleiche Frage hatten wie ich:

Ich hatte Schwierigkeiten zu verstehen, wie Getter und Setter in Kotlin arbeiteten, zumal sie nie explizit aufgerufen wurden (wie in Java). Aus diesem Grund fühlte ich mich unwohl, da es so aussah, als ob wir uns direkt auf die Vars / Vals als Felder bezogen. Also habe ich ein kleines Experiment durchgeführt, um zu zeigen, dass dies nicht der Fall ist und dass es tatsächlich der implizite (automatisch generierte) oder explizite Getter / Setter ist, der in Kotlin aufgerufen wird, wenn Sie auf eine Variable / einen Wert zugreifen. Der Unterschied ist, dass Sie nicht explizit nach dem Standard-Getter / Setter fragen.

Aus der Dokumentation - die vollständige Syntax zum Deklarieren einer Eigenschaft lautet:

%Vor%

Und mein Beispiel ist

%Vor%

Ich hoffe, dass das hilft, alles für andere zusammen zu bringen?

    
Vince 05.11.2016 13:04
quelle

Tags und Links