Kotlin Getters and Setter (Dengan Contoh)

Pada artikel ini, Anda akan belajar menggunakan getter dan setter di Kotlin dengan bantuan sebuah contoh.

Sebelum Anda mempelajari tentang getter dan setter, pastikan untuk memeriksa class dan objek Kotlin.

Dalam pemrograman, getter digunakan untuk mendapatkan nilai properti. Demikian pula, penyetel digunakan untuk menyetel nilai properti.

Di Kotlin, getter dan setter bersifat opsional dan dibuat secara otomatis jika Anda tidak membuatnya dalam program Anda.

Bagaimana getter dan setter bekerja?

Kode berikut di Kotlin

 class Person (var name: String = "defaultValue")

setara dengan

 class Person (var name: String = "defaultValue" // getter get () = field // setter set (value) (field = value))

Saat Anda membuat instance objek Personkelas dan menginisialisasi properti name, itu diteruskan ke nilai parameter penyetel dan setel bidang ke nilai.

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

Sekarang, ketika Anda mengakses properti nama objek, Anda akan mendapatkan field karena kodenya get() = field.

 println ("$ (p.name)")

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

Saat Anda menjalankan program, hasilnya adalah:

 mendongkrak 

Ini adalah cara kerja pengambil dan penyetel secara default. Namun, Anda dapat mengubah nilai properti (mengubah nilai) menggunakan getter dan setter.

Contoh: Mengubah nilai properti

 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 )

Saat Anda menjalankan program, hasilnya adalah:

 Maria: usia sebenarnya = 15 Maria: usia pura-pura = 18 Angela: usia sebenarnya = 35 Angela: usia pura-pura = 32

Di sini, properti actualAge bekerja seperti yang diharapkan.

Namun, ada logika tambahan penyetel untuk mengubah nilai properti usia.

Artikel yang menarik...