Sobes.tech
Junior — Middle

Kuidas saab realiseerida uue objekti loomise, millel on kolm algse andmeklassi välja ja lisaks kaks välja objektidena?

sobes.tech AI

Vastus AI-lt

Kotlinis, et luua uus objekt, mis sisaldab kolme välja algsest andmeklassist ja lisaks kahte objekti välja, saab kasutada copy() funktsiooni ja klassi laiendamist või luua uue klassi vajalike väljadega.

Näide:

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

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

// Uus klass, mis ühendab väljad
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Loomine algse objekti põhjal
val original = Original(1, "tekst", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)

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

Kui vaja on täpselt data class koos koopiaga, saab seda teha nii:

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)

Nii ühendate algse klassi väljad uute objektidega.