Sobes.tech
Junior — Middle

Kotlin-də məlumat siniflərinin hansı xüsusiyyətləri və məhdudiyyətləri var?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də məlumat sinifləri (data class) məlumatların saxlanılması üçün nəzərdə tutulmuşdur və avtomatik olaraq faydalı metodlar təmin edir: equals(), hashCode(), toString(), copy() və destruktur funksiyaları.

Xüsusiyyətlər və məhdudiyyətlər:

  • Sinif ən azı bir parametrə malik olmalıdır.
  • primary constructor-da elan olunan bütün parametrlər avtomatik olaraq xüsusiyyətlərə çevrilir.
  • Sinif abstrakt, açıq, daxili və ya digər siniflərdən irs almaq mümkün deyil (amma interfeysləri həyata keçirə bilər).
  • Kompilyator yalnız konstruktor daxilində elan olunan xüsusiyyətlər üçün metodlar yaradır, əlavə xüsusiyyətlər üçün yox.
  • Əgər istəyirsinizsə, yaradılan metodları üst-üstə yaza bilərsiniz.

Nümunə:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // yeni obyekt yaradacaq, yaş dəyişdirilib
println(user1) // User(name=Alice, age=30)