Junior
Kotlin-də data siniflərini necə həyata keçirmək və istifadə etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Məlumat sinifləri məlumatların saxlanması üçün istifadə olunur. Tərtibçi onlar üçün equals(), hashCode(), toString(), copy() və componentN() funksiyaları kimi faydalı metodları avtomatik olaraq yaradır.
İcra: data prefiksi ilə sinifin elan edilməsi.
data class User(val name: String, val age: Int)
İstifadə:
Nümunə yaratmaq:
val user = User("Alice", 30)
Xüsusiyyətlərə giriş:
val name = user.name // Alice
val age = user.age // 30
Yaradılmış metodlardan istifadə:
println(user.toString()) // User(name=Alice, age=30)
başqaUser = User("Alice", 30)
println(user == anotherUser) // true (equals() avtomatik yaradılır)
köhnəUser = user.copy(age = 31) // User(name=Alice, age=31)
istifadəçiAdı, istifadəçiYaşı = user // Destrukturlaşdırma
println("Ad: $istifadəçiAdı, Yaş: $istifadəçiYaşı") // Ad: Alice, Yaş: 30
Xüsusiyyətlər:
- Bütün əsas konstruktor parametrləri
valvə yavarolmalıdır. - Məlumat sinifləri
abstract,open,sealedvə yainnerola bilməz. - Sinifin bədənindəki xüsusiyyətlər metodların (
equals,hashCode,copy,componentN()) yaradılmasında iştirak etmir.
data class Person(val name: String) {
var height: Int = 0 // `equals`, `hashCode`, `copy`, `componentN()`-ə daxil deyil
}
val p1 = Person("Bob")
p1.height = 180
val p2 = Person("Bob")
p2.height = 190
println(p1 == p2) // true