Sobes.tech
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 val veya var olmalıdır.
  • Veri sınıfları abstract, open, sealed veya inner olamaz.
  • 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