Pemandu dan Pengatur Kotlin

Dalam artikel ini, anda akan belajar menggunakan getter dan setter di Kotlin dengan bantuan contoh.

Sebelum anda mengetahui tentang pemula dan pengatur, pastikan untuk memeriksa kelas dan objek Kotlin.

Dalam pengaturcaraan, pemula digunakan untuk mendapatkan nilai harta tanah. Begitu juga, setter digunakan untuk menetapkan nilai harta tanah.

Di Kotlin, getter dan setter adalah pilihan dan dihasilkan secara automatik jika anda tidak membuatnya dalam program anda.

Bagaimana pengawal dan pengatur berfungsi?

Kod berikut di Kotlin

 Orang kelas (nama var: String = "defaultValue")

adalah bersamaan dengan

 Orang kelas (nama var: String = "defaultValue" // getter get () = bidang // setter set (nilai) (bidang = nilai))

Apabila anda membuat objek Personkelas dan menginisialisasi sifat nama, ia akan diteruskan ke nilai parameter setters dan bidang set ke nilai.

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

Sekarang, apabila anda mengakses properti nama objek, anda akan mendapat bidang kerana kodnya get() = field.

 println ("$ (nama.)")

Berikut adalah contoh yang berfungsi:

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

Semasa anda menjalankan program, outputnya adalah:

 jek 

Ini adalah cara pemakai dan penyusun berfungsi secara lalai. Walau bagaimanapun, anda boleh mengubah nilai harta tanah (mengubah nilai) menggunakan getter dan setter.

Contoh: Menukar nilai harta tanah

 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 )

Semasa anda menjalankan program, outputnya adalah:

 Maria: umur sebenar = 15 Maria: umur pura-pura = 18 Angela: usia sebenar = 35 Angela: umur pura-pura = 32

Di sini, harta sebenarnyaAge berfungsi seperti yang diharapkan.

Walau bagaimanapun, ada logik tambahan untuk menetapkan nilai harta tanah.

Artikel menarik...