Sobes.tech
Junior — Middle

Data class üçün kompilyator tərəfindən yaradılan avtomatik metodlar hansılardır və onlar nə üçün nəzərdə tutulub?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də, data class üçün tərtibçi avtomatik olaraq bir neçə faydalı metod yaradır ki, bu da obyektlərlə işləməni asanlaşdırır:

  • equals() — bütün xüsusiyyətlərin dəyərinə görə obyektləri müqayisə etmək üçün.
  • hashCode()equals() ilə uyğun olan hash kodu almaq üçün.
  • toString() — obyektin bütün xüsusiyyətlərinin siyahısı ilə mətn təqdimatını qaytarır.
  • copy() — obyektin nüsxəsini yaradır və bəzi xüsusiyyətləri dəyişdirməyə imkan verir.
  • componentN() funksiyaları — obyektin ayrılmasını və ayrı dəyişənlərə bölünməsini təmin edir.

Nümunə:

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

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)

println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user2
println(name) // Alice
println(age) // 31

Bu metodlar dəyişməz obyektlərlə işləməni sadələşdirir və kodu daha ifadəli edir.