Junior — Middle
Cum se poate realiza crearea unui nou obiect care are trei câmpuri ale clasei de date originale și, în plus, două câmpuri sub formă de obiecte?
sobes.tech AI
Răspuns de la AI
În Kotlin, pentru a crea un nou obiect care conține trei câmpuri din data class-ul original și, de asemenea, două câmpuri-obiect, poți folosi copierea cu funcția copy() și extinderea clasei sau crearea unei noi clase cu câmpurile necesare.
Exemplu:
data class Original(val a: Int, val b: String, val c: Double)
data class Additional(val x: String, val y: Int)
// Clasă nouă care combină câmpurile
class Extended(
val a: Int,
val b: String,
val c: Double,
val additional1: Additional,
val additional2: Additional
)
// Creare din obiectul original
val original = Original(1, "text", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)
val extended = Extended(original.a, original.b, original.c, add1, add2)
Dacă ai nevoie de exact un data class cu copiere, poți face așa:
data class Extended(
val a: Int,
val b: String,
val c: Double,
val additional1: Additional,
val additional2: Additional
)
val extended = Extended(original.a, original.b, original.c, add1, add2)
Astfel, combini câmpurile clasei originale cu noile obiecte.