Sobes.tech
Junior

Mida sa saad rääkida omadustest ning samuti get ja set meetoditest Kotlinis?

sobes.tech AI

Vastus AI-lt

Kotlin omadused on kombinatsioon väli ja sellele vastavast getterist ja setterist.

Omaduse määratlus:

class MyClass {
    var mutableProperty: String = "default"
    val immutableProperty: Int = 10
}

Siin on mutableProperty muudetav omadus, millel on vaikimisi getter ja setter. immutableProperty on muutumatu omadus ainult vaikimisi getteriga.

Selge getteri ja setteri määratlus:

class MyClass {
    var customProperty: String = ""
        get() = field.toUpperCase() // Kasutaja getter
        set(value) {
            field = value.toLowerCase() // Kasutaja setter
        }

    val computedProperty: Int
        get() = (1..10).random() // Arvutatav omadus, ilma väluta
}
  • field - viide omaduse välile getteris ja setteris. Kasutatakse ainult muudetavate omaduste (var) puhul.
  • Getterid ja setterid võivad olla kohandatud, lisades täiendavat loogikat omaduse ligipääsul või muutmisel.
  • Arvutatavad omadused (computedProperty) ei oma oma välja ja arvutatakse iga pääsuga.

Peamised punktid:

  • Kotlinis ei ole vaja iga välja jaoks selgelt luua getterit ja setterit, nagu Java-s. Need genereeritakse automaatselt.
  • Omadused on kättesaadavad punktnotatsiooniga (instance.propertyName).
  • Selge getteri ja setteri määratlus võimaldab lisada täiendavat loogikat.
  • val omaduste getterid peavad alati tagastama sama tüüpi väärtuse.
  • var omaduste setterid võtavad vastu sama tüüpi parameetri.

Omaduste võrdlus Kotlinis ja väljade + meetodite Java-s:

Kotlin omadus Java väli + meetodid Kirjeldus
var myProperty: Tüüp private Tüüp myProperty; + public Tüüp getMyProperty() + public void setMyProperty(Tüüp väärtus) Muudetav omadus automaatse getteri ja setteri abil.
val myProperty: Tüüp private Tüüp myProperty; + public Tüüp getMyProperty() Muutumatu omadus ainult getteriga.
Kohandatud getter/setter Käsitsi kirjutatud loogika Lisab kasutaja määratud loogika ligipääsul või muutmisel.
Arvutatav omadus Meetod, mis tagastab väärtuse Väärtus arvutatakse iga taotluse korral.