Junior — Middle
Kādas īpašības un ierobežojumi pastāv Kotlin datu klasēs?
sobes.tech AI
Atbilde no AI
Datu klases (data class) Kotlin ir paredzētas datu glabāšanai un automātiski nodrošina noderīgas metodes: equals(), hashCode(), toString(), copy() un destrukturēšanas funkcijas.
Īpašības un ierobežojumi:
- Klasei jābūt vismaz vienam parametrā konstruktorā.
- Visi konstruktorā deklarētie parametri, kas ir
primary constructor, automātiski kļūst par īpašībām. - Klase nevar būt abstrakta, atvērta, iekšēja vai mantojoša no citām klasēm (bet var realizēt interfeisus).
- Kompilators ģenerē metodes tikai tiem īpašībām, kas deklarētas konstruktorā, nevis papildu īpašībām.
- Ja nepieciešams, var pārdefinēt ģenerētās metodes.
Piemērs:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // izveidos jaunu objektu ar mainītu vecumu
println(user1) // User(name=Alice, age=30)