Junior — Middle
Kotlin'deki veri sınıflarının hangi özellikleri ve sınırlamaları vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'deki veri sınıfları (data class), verileri depolamak için tasarlanmıştır ve otomatik olarak kullanışlı yöntemler sağlar: equals(), hashCode(), toString(), copy() ve destrüktürasyon fonksiyonları.
Özellikler ve sınırlamalar:
- Sınıfın en az bir parametreye sahip olması gerekir.
primary constructor'da ilan edilen tüm parametreler otomatik olarak özellik haline gelir.- Sınıf soyut, açık, iç içe veya başka sınıflardan kalıtılamaz (ancak arayüzleri uygulayabilir).
- Derleyici, yalnızca yapıcıda ilan edilen özellikler için metodlar üretir, ek özellikler için değil.
- İstenirse, üretilen metodlar üzerine yazılabilir.
Örnek:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // yaş değiştirilmiş yeni bir nesne oluşturur
println(user1) // User(name=Alice, age=30)