Junior — Middle
Aké vlastnosti a obmedzenia majú dátové triedy v Kotlin?
sobes.tech AI
Odpoveď od AI
Dátové triedy (data class) v Kotlin sú určené na ukladanie údajov a automaticky poskytujú užitočné metódy: equals(), hashCode(), toString(), copy() a funkcie na destrukturalizáciu.
Vlastnosti a obmedzenia:
- Trieda musí mať aspoň jeden parameter v konštruktore.
- Všetky parametre konštruktora, deklarované v
primary constructor, sa automaticky stávajú vlastnosťami. - Trieda nemôže byť abstraktná, otvorená, vnútorná alebo dediť z iných tried (ale môže implementovať rozhrania).
- Kompilátor generuje metódy iba pre vlastnosti deklarované v konštruktore, nie pre ďalšie vlastnosti.
- Generované metódy je možné prepísať, ak je potrebné zmeniť správanie.
Príklad:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // vytvorí nový objekt so zmeneným vekom
println(user1) // User(name=Alice, age=30)