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.