Junior — Middle
Jak lze realizovat vytvoření nového objektu, který obsahuje tři pole původní třídy dat a navíc dvě pole ve formě objektů?
sobes.tech AI
Odpověď od AI
V Kotlinu lze pro vytvoření nového objektu, který obsahuje tři pole z původní třídy data a navíc dvě pole-objekty, použít kopírování pomocí funkce copy() a rozšíření třídy nebo vytvořit novou třídu s potřebnými poli.
Příklad:
data class Original(val a: Int, val b: String, val c: Double)
data class Additional(val x: String, val y: Int)
// Nová třída spojující pole
class Extended(
val a: Int,
val b: String,
val c: Double,
val additional1: Additional,
val additional2: Additional
)
// Vytvoření z původního objektu
val original = Original(1, "text", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)
val extended = Extended(original.a, original.b, original.c, add1, add2)
Pokud potřebujete přesně data class s kopírováním, můžete to udělat takto:
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ímto způsobem kombinujete pole původní třídy s novými objekty.