Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Tentang getter and setter di kotlin
pada tutorial di "object oriented programming di kotlin" > "getter dan setter di class"
fun main (args: Array<String>){
val anak1 = Orang("herik", "hamzah")
println(anak1.nama)
}
class Orang (firstName: String, lastName: String){
var namaDepan = firstName
var namaBelakang = lastName
//setter & getter
var nama : String
get() = namaDepan + " " + namaBelakang
set(value) {
val namaPanjang = value.split("")
namaDepan = namaPanjang[0]
namaBelakang = namaPanjang[1]
}
}
kenapa harus memakai method set(). padahal tanpa itu sudah bisa memisahkan nama. Ane kurang mengerti kenapa harus memakai method set().
fun main (args: Array<String>){
val anak1 = Orang("herik", "hamzah")
println(anak1.nama)
}
class Orang (firstName: String, lastName: String){
var namaDepan = firstName
var namaBelakang = lastName
//setter & getter
var nama : String = ""
get() = namaDepan + " " + namaBelakang
}
terimaKasih
2 Jawaban:
Jawaban Terpilih
Menurut aku yang diatas set nya dicustom. Jadi saat aku set nama, secara tidak langsung dia juga update namaDepan dan namaBelakang.
Contohnya :
<pre> val anak1 = Orang("herik", "hamzah") println(anak1.nama) // herik hamzah
anak1.nama = "Ifan Zalukhu" println(anak1.nama) // ifan zalukhu println(anak1.namaDepan) // ifan </pre>
Jadi kita cuma set nama, otomatis dia update namaDepan dan namaBelakang
udah dicoba malah jadi aneh. setelah dicoba update "anak1.nama" pas "println()" yg keluar cuman "n" doang. <pre> fun main (args: Array<String>){ val anak1 = Orang("herik", "hamzah") println(anak1.nama) anak1.nama = "nggak bisa" println(anak1.nama) //n println(anak1.lastName) //n }
class Orang (var firstName: String, var lastName: String){
//setter & getter
var nama : String
get() = firstName + " " + lastName
set(value) {
val namaPanjang = value.split("")
firstName = namaPanjang[0]
lastName = namaPanjang[1]
}
} </pre>
maaf udah ngerti gan. ane salah di "value.split("")" harusnya -> "value.split(" ")"