Junior
Kotlin'de veri sınıflarını nasıl uygulayıp kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Veri sınıfları, verileri depolamak için kullanılır. Derleyici, bunlar için equals(), hashCode(), toString(), copy() ve componentN() fonksiyonları gibi kullanışlı metodları otomatik olarak üretir.
Uygulama: data önekiyle sınıf bildirimi.
data class User(val name: String, val age: Int)
Kullanım:
Bir örnek oluşturma:
val user = User("Alice", 30)
Özelliklere erişim:
val name = user.name // Alice
val age = user.age // 30
Oluşan metodların kullanımı:
println(user.toString()) // User(name=Alice, age=30)
başka birUser = User("Alice", 30)
println(user == anotherUser) // true (equals() otomatik)
yaşlıUser = user.copy(age = 31) // User(name=Alice, age=31)
kullanıcıAdı, kullanıcıYaşı = user // Destructuring
println("İsim: $kullanıcıAdı, Yaş: $kullanıcıYaşı") // İsim: Alice, Yaş: 30
Özellikler:
- Tüm ana yapıcı parametreleri
valveyavarolmalıdır. - Veri sınıfları
abstract,open,sealedveyainnerolamaz. - Sınıf gövdesindeki özellikler,
equals,hashCode,copy,componentN()metodlarının üretiminde yer almaz.
data class Person(val name: String) {
var height: Int = 0 // `equals`, `hashCode`, `copy`, `componentN()`'e katılmaz
}
val p1 = Person("Bob")
p1.height = 180
val p2 = Person("Bob")
p2.height = 190
println(p1 == p2) // true