Sobes.tech
Junior — Middle

Негизги data classтын үч талаасын жана кошумча эки талаасын объект түрүндө камтыган жаңы объектти кантип ишке ашырууга болот?

sobes.tech AI

AIден жооп

Kotlinде, оригинал data classтин үч талаасын камтыган жана кошумча эки объект талаасын камтыган жаңы объект түзүү үчүн, copy() функциясын жана класс кеңейтүүнү колдонсоңуз болот же керектүү талаалар менен жаңы класс түзө аласыз.

Мисал:

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

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

// Талааларды бириктирген жаңы класс
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Оригинал объекттен түзүү
val original = Original(1, "текст", 2.0)
val add1 = Additional("объект1", 10)
val add2 = Additional("объект2", 20)

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

Эгер так data class менен көчүрмө керек болсо, мындай кылса болот:

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)

Ошентип, сиз оригинал класстын талааларын жаңы объекттер менен бириктиресиз.