Sobes.tech
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)