Перейти к содержанию

🗒 Задача

Используя любой data class, в котором есть минимум 3 свойства, выполни деструктуризацию объекта на отдельные переменные и выведи их значения в консоль.

❌ Ошибки

✏️ Комментарии

Отлично!

В Data-классах помимо toString() генерируются еще методы component1(), component2() ... componentN(), которые как раз и позволяют работать деструктурингу. Да ты и для обычного класса их можешь объявить:    

class RegularBook(
        val bookName: String,
        val author: String,
) {
        operator fun component1(): String = bookName + "1"
        operator fun component2(): String = author + "2"
}

fun main() {
    val regularBook1 = RegularBook("Книга", "Автор")
    val (a, b) = regularBook1
    println(a)
    println(b)
}

🧾 Решение

data class Car(
    val brand: String,
    val model: String,
    val year: Int,
)

fun main() {
    val myCar = Car("Toyota", "Camry", 2020)

    val (carBrand, carModel, carYear) = myCar

    println("Brand: $carBrand")
    println("Model: $carModel")
    println("Year: $carYear")
}