Sobes.tech
Junior — Middle

Kā var īstenot jauna objekta izveidi, kurā ir trīs sākotnējās datu klases lauki un papildus divi lauki kā objekti?

sobes.tech AI

Atbilde no AI

Kotlin, lai izveidotu jaunu objektu, kas saturu trīs laukus no oriģinālās datu klases un papildus divus objektu laukus, var izmantot copy() funkciju un klases paplašināšanu vai izveidot jaunu klasi ar nepieciešamajiem laukiem.

Piemērs:

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

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

// Jauna klase, kas apvieno laukus
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Izveido no oriģinālā objekta
val original = Original(1, "teksts", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)

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

Ja nepieciešams tieši datu klases ar kopēšanu, to var izdarīt šādi:

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)

Tādā veidā jūs apvienojat oriģinālās klases laukus ar jaunajiem objektiem.