Junior — Middle
Dasturlash tilida data class va standart class o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Kotlin (Android) tilida, data class (ma'lumotlar sinfi) — bu ma'lumotlarni saqlash uchun mo'ljallangan maxsus sinf. Oddiy sinfdan asosiy farqi shundaki, kompilyator avtomatik ravishda data class uchun bir nechta foydali metodlarni yaratadi:
equals()vahashCode()obyektlarni mazmuni bo'yicha solishtirish uchun,- ma'lumotli
toString()chiqarish uchun, copy()yordamida o'zgartirilgan maydonlar bilan nusxalar yaratish uchun,- destrukturalash uchun (
component1(),component2(), va boshqalar).
Oddiy sinf bu metodlarni standart ravishda olmaydi, ular kerak bo'lsa, qo'lda yozilishi kerak.
Data class misoli:
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)
Shu sababli, data class ma'lumotlar modellari uchun qulay, chunki ularning soddaligi va obyektlarni to'g'ri solishtirish muhim bo'lgan hollarda foydalaniladi.