Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpDcInr 61 of 123 menu
◀ ▶

Введение в data class в Kotlin

Data class - короткая запись типа, который держит набор связанных полей: имя и возраст пользователя, координаты точки, код товара и цена. Такие значения передают между функциями, кладут в списки и карты, сравнивают между собой, не меняя исходный объект.

Обычный class User(val name: String, val age: Int) уже знаком по разделу про классы и свойства в конструкторе. Для двух экземпляров с одинаковыми полями оператор == без своей реализации equals сравнивает ссылки, а вывод в консоль не показывает поля, пока не написать toString вручную. Для записей-контейнеров это лишняя работа на каждый тип.

Ключевое слово data class сообщает компилятору, что тип нужен именно для данных. По списку свойств в заголовке генерируются equals, hashCode, toString, copy и функции для деструктуризации - подробнее в следующих уроках. Объявление выглядит так:

data class User(val name: String, val age: Int) fun main() { val user = User("Ann", 25) println(user.name) println(user.age) }

После создания объект ведёт себя как контейнер данных: поля доступны по имени, лишней логики в типе нет. Data class не заменяет иерархии с наследованием и абстрактные классы - он дополняет их там, где важнее содержимое полей, чем поведение отдельного типа.

Сделайте data class Book с полями title и pages. Создайте книгу "Notes" на 120 страниц и выведите на экран оба поля в двух строках.

Сделайте data class Coord с полями x и y типа Int. Создайте точку Coord(3, 7) и выведите объект на экран одной командой println.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить