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)

ამ გზით, თქვენ კომბინირებთ ორიგინალური კლასის ველებს ახალი ობიექტებით.