Junior — Middle
Môžete vysvetliť rozdiely medzi bežnou triedou a data triedou v programovacom jazyku?
sobes.tech AI
Odpoveď od AI
V programovacích jazycích, ako je Kotlin, sa obyčajná trieda a data class líšia v tom, že data class je určená na ukladanie dát a automaticky generuje užitočné metódy.
Hlavné rozdiely medzi data class a obyčajnou triedou:
- Automatické generovanie metód:
equals(),hashCode(),toString(),copy(), ako aj komponenty na destrukturalizáciu. - Konštruktor s parametrami: data class musí mať aspoň jeden parameter v hlavnom konštruktore.
- Použitie: data class je vhodná pre dátové modely, kde je dôležitá semantika rovnosti podľa obsahu.
Príklad v Kotlin:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = User("Alice", 30)
println(user1 == user2) // true, porovnanie podľa obsahu
println(user1) // User(name=Alice, age=30)
val user3 = user1.copy(age = 31) // vytvorí nový objekt s upraveným vekom
V obyčajnej triede je potrebné tieto metódy implementovať manuálne, čo zvyšuje kód a pravdepodobnosť chýb.