Junior — Middle
Каква е разликата между data class и стандартен клас в езика за програмиране?
sobes.tech AI
Отговор от AI
В езика Kotlin (Android) data class (класа за данни) е специален клас, предназначен за съхранение на данни. Основната разлика спрямо обикновения клас е, че компилаторът автоматично генерира няколко полезни метода:
equals()иhashCode()за сравняване на обекти по съдържание,toString()с информативен изход,copy()за създаване на копия с променени полета,- компоненти (
component1(),component2(), и т.н.) за деструктуриране.
Обикновеният клас няма тези методи по подразбиране, те трябва да се напишат ръчно, ако са необходими.
Пример за data class:
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)
Така, data class е удобна за модели на данни, където важна е простотата и коректното сравняване на обекти.