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)

Така комбинирате полетата на оригиналния клас с новите обекти.