Sobes.tech
Junior — Middle

Kaip galima įgyvendinti naujo objekto kūrimą, kuris turi tris pradinio duomenų klasės laukus ir papildomus du laukus kaip objektus?

sobes.tech AI

Atsakymas iš AI

Kotlin'e norint sukurti naują objektą, kuris turi tris originalios duomenų klasės laukus ir papildomus du objektų laukus, galima naudoti copy() funkciją ir klasės išplėtimą arba sukurti naują klasę su reikalingais laukais.

Pavyzdys:

data class Original(val a: Int, val b: String, val c: Double)

data class Additional(val x: String, val y: Int)

// Nauja klasė, jungiantis laukus
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Sukurti iš pirminio objekto
val original = Original(1, "tekstas", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)

val extended = Extended(original.a, original.b, original.c, add1, add2)

Jei reikia tik duomenų klasės su kopijavimu, tai galima padaryti taip:

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)

Taip sujungiami pirminės klasės laukeliai su naujais objektais.