Junior — Middle
Mi a különbség a data class és egy standard osztály között a programozási nyelvben?
sobes.tech MI
Válasz az MI-től
Kotlin (Android) nyelvben a data class (adat osztály) egy speciális osztály, amely adat tárolására szolgál. A fő különbség a normál osztályhoz képest, hogy a fordító automatikusan generál több hasznos metódust:
equals()éshashCode()az objektumok tartalom szerinti összehasonlításához,toString()informatív kimenettel,copy()módosított mezőkkel rendelkező másolatok készítéséhez,- komponensek (
component1(),component2(), stb.) destrukturáláshoz.
Egy normál osztály nem rendelkezik ezekkel a metódusokkal alapértelmezés szerint, ezeket kézzel kell írni, ha szükséges.
Példa data class-ra:
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)
Így a data class kényelmes adatmodellekhez, ahol a egyszerűség és a helyes összehasonlítás fontos.