Kotlin Getters and Setters (Με παράδειγμα)

Σε αυτό το άρθρο, θα μάθετε να χρησιμοποιείτε getter και setters στο Kotlin με τη βοήθεια ενός παραδείγματος.

Πριν μάθετε σχετικά με το getlin και το setter, φροντίστε να ελέγξετε την τάξη και τα αντικείμενα Kotlin.

Στον προγραμματισμό, οι λήπτες χρησιμοποιούνται για τη λήψη αξίας του ακινήτου. Ομοίως, οι ρυθμιστές χρησιμοποιούνται για τον καθορισμό της τιμής της ιδιότητας.

Στο Kotlin, οι δέκτες και οι ρυθμιστές είναι προαιρετικοί και δημιουργούνται αυτόματα εάν δεν τους δημιουργήσετε στο πρόγραμμά σας.

Πώς λειτουργούν οι κολλητές και οι ρυθμιστές;

Ο ακόλουθος κωδικός στο Kotlin

 class class (όνομα ονόματος: String = "defaultValue")

είναι ισοδύναμο με

 class Person (var name: String = "defaultValue" // getter get () = field // setter set (τιμή) (πεδίο = τιμή))

Όταν δημιουργείτε το αντικείμενο της Personκλάσης και προετοιμάζετε την ιδιότητα ονόματος, μεταβιβάζεται στην τιμή παραμέτρου setters και ορίζει το πεδίο στην τιμή.

 val p = Πρόσωπο () p.name = "jack"

Τώρα, όταν έχετε πρόσβαση στην ιδιότητα ονόματος του αντικειμένου, θα λάβετε πεδίο λόγω του κωδικού get() = field.

 println ("$ (p.name)")

Ακολουθεί ένα λειτουργικό παράδειγμα:

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 γρύλος 

Έτσι λειτουργούν από προεπιλογή οι λήπτες και οι ρυθμιστές. Ωστόσο, μπορείτε να αλλάξετε την τιμή της ιδιότητας (τροποποίηση τιμής) χρησιμοποιώντας getter και setters.

Παράδειγμα: Αλλαγή αξίας της ιδιότητας

 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 )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Μαρία: πραγματική ηλικία = 15 Μαρία: υποτιθέμενη ηλικία = 18 Άντζελα: πραγματική ηλικία = 35 Άνγκελα: υποτιθέμενη ηλικία = 32

Εδώ, η πραγματική ιδιοκτησία λειτουργεί όπως αναμενόταν.

Ωστόσο, υπάρχει πρόσθετη λογική που ρυθμίζει την τροποποίηση της τιμής της ηλικίας.

ενδιαφέροντα άρθρα...