Kotlin Getters ja Setters (koos näitega)

Lang L: none (table-of-contents)

Selles artiklis õpite näite abil kasutama Kotlini gettereid ja setereid.

Enne kui tutvute gettersite ja setteritega, kontrollige kindlasti Kotlini klassi ja objekte.

Programmeerimisel kasutatakse vara väärtuse saamiseks gettereid. Samamoodi kasutatakse kinnisvara väärtuse määramiseks seadistajaid.

Kotlinis on getters ja setterid valikulised ning need luuakse automaatselt, kui te neid oma programmis ei loo.

Kuidas getters ja setters töötavad?

Järgmine kood Kotlinis

 klassi isik (var nimi: String = "defaultValue")

on samaväärne

 klass Isik (var nimi: String = "defaultValue" // getter get () = väli // setteri komplekt (väärtus) (väli = väärtus))

Kui Personklassi objekti kohestate ja atribuudi nimi initsialiseerite, edastatakse see setterite parameetri väärtusele ja määratakse väli väärtuseks.

 val p = inimene () p.nimi = "jack"

Kui pääsete juurde objekti omadusele, saate koodi tõttu välja get() = field.

 println ("$ (p.nimi)")

Siin on toimiv näide:

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

Programmi käivitamisel on väljund järgmine:

 jack 

Nii töötavad vaikimisi getters ja setters. Atribuudi väärtust (väärtuse muutmine) saate aga muuta getters ja seterite abil.

Näide: Atribuudi väärtuse muutmine

 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 )

Programmi käivitamisel on väljund järgmine:

 Maria: tegelik vanus = 15 Maria: teeseldud vanus = 18 Angela: tegelik vanus = 35 Angela: teeseldud vanus = 32

Siin töötab tegelik vanuse vara ootuspäraselt.

Vanuse atribuudi väärtuse muutmiseks on olemas ka täiendav loogika.

Huvitavad Artiklid...