Kotlin Multiplatform Academy · Урок

Классы данных для предметной области

Неизменяемые общие модели с готовыми copy и equals

Урок 1 из 413 шагов

«Классы данных для предметной области» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Your Domain Needs Models

Every app describes real things like users, orders or songs. In KMP you model them once with shared data classes.

Meet the data class

A data class is a small type built to hold values. You add the keyword and list the properties in the header.

data class User(val id: Int, val name: String)

It Lives in commonMain

Put your model in commonMain and both the Android and iOS apps see the exact same shape with no duplication.

// shared/src/commonMain
data class User(val id: Int, val name: String)

Create an Instance

Build a model by calling it like a function and passing each value. The object now carries your data everywhere.

val ada = User(id = 1, name = "Ada")

Read the Properties

Access any field with a dot. Reading properties works the same in shared code, Android and iOS.

val label = ada.name + " #" + ada.id

Free toString

A data class auto-generates a readable toString, so printing a model shows its values instead of a cryptic address.

println(ada) // User(id=1, name=Ada)

Value-Based equals

Two models with the same fields are considered equal. Data classes compare by content, not by memory identity.

User(1, "Ada") == User(1, "Ada") // true

Copy with Changes

The free copy function clones a model while overriding only the fields you name, keeping the original untouched.

val renamed = ada.copy(name = "Grace")

Prefer Immutable val

Declare fields as val so models cannot change after creation. Immutable data is safer to share across platforms.

data class Song(val title: String, val seconds: Int)

Compose Models Together

A model can hold other models as fields, letting you nest data classes to mirror real relationships in your domain.

data class Playlist(val owner: User, val songs: List<Song>)

Why This Matters

One shared model means Android and iOS can never disagree about your data shape, killing a whole class of bugs. 🙂

Quick Check

Which free feature did the data class give you here?

Recap

Shared data classes in commonMain give you copy, equals and toString for free, modeling your domain once for both apps.

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Классы данных для предметной области» бесплатный?

Да — полный текст урока «Классы данных для предметной области» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «Классы данных для предметной области»?

Неизменяемые общие модели с готовыми copy и equals Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Классы данных для предметной области»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Классы данных для предметной области
  2. Перечисления и запечатанные классы для состояния
  3. Безопасность null в общих моделях
  4. Помощники проверки для ваших моделей
← Назад к Kotlin Multiplatform Academy