Junior — Middle
Koje karakteristike i ograničenja postoje kod klasa podataka u Kotlinu?
sobes.tech АИ
Одговор од АИ
Data klase (data class) u Kotlinu su namenjene za skladištenje podataka i automatski pružaju korisne metode: equals(), hashCode(), toString(), copy() i funkcije za destrukturiranje.
Karakteristike i ograničenja:
- Klasa mora imati bar jedan parametar u konstruktoru.
- Svi parametri konstruktora, deklarisani u
primary constructor, automatski postaju svojstva. - Klasa ne može biti apstraktna, otvorena, interna ili naslediti od drugih klasa (ali može implementirati interfejse).
- Kompajler generiše metode samo za svojstva deklarisana u konstruktoru, a ne za dodatna svojstva.
- Moguće je prepisati generisane metode ako je potrebno promeniti ponašanje.
Primer:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // kreira novi objekat sa izmenjenom starosti
println(user1) // User(name=Alice, age=30)