Kotlin для початківців: Структури даних — Класи
Архів
22 листопада 2022 р.2 хв читанняВостаннє оновлено 11.01.2026Kotlin для початківців
Класи
Що ж нам робити, якщо ми маємо декілька різних варіацій одного за сенсом об'єкта? Наприклад, ми маємо більше одного
кота. То що ж нам робити? Об'єкт тут вже не варіант.
На допомогу нам приходить один з видів об'єкта — Клас.
Клас може створюватися в кількох екземплярах, які будуть незалежними один від одного.
На відміну від
object, class може мати більше одного екземпляра своєї структури.
Перепишімо наш object на class:kotlin
class Cat {
val name: String = "Мася"
val age: Int = 4
fun meow(): String {
return "meow<3"
}
}
Змінивши ключове слово
object на class ми вже отримаємо бажаний результат.
Як отримати дані з класу? Для початку, нам потрібно його створити:kotlin
fun main() {
/**
* Об'єкти створюються аналогічно до виклику функцій.
* Ми створюємо незалежний екземпляр та зберігаємо
* його в змінну, як ми це робили з іншими типами даних.
*/
val cat = Cat()
println(cat.name)
}
Але поки що наша структура має тільки одну варіацію (завжди одне й те саме ім'я та вік).
Конструктор
Зазвичай ми хочемо передавати дані об'єкту під час його створення. Для цього використовується конструктор.
Якщо ви знаєте англійську, ви швидше за все зрозуміли, що конструктор (англ. constructor) щось конструює. Він використовується для того ж, для чого й аргументи у функцій — для передачі необхідної інформації нашій структурі. Наприклад, структура спочатку не знає, як звати нашого кота, ми повинні задати це через конструктор.
Кожен виклик конструктора створює новий екземпляр структури нашого об'єкта, який не залежить від інших.
kotlin
class Cat(name: String, age: Int) {
val name: String = name // параметри конструктора видні в тілі класу
val age: Int = age
fun meow(): String {
return "meow<3"
}
}
⚠️ Увага
Параметри конструктора (безval/var) видні лише в тілі самого класу під час ініціалізації. Ви не зможете звернутися до них через крапку (cat.name) у функціїmain, якщо не оголосите їх як властивості.
Після створення ми вказуємо дані:
kotlin
fun main() {
val cat: Cat = Cat("Мася", 4)
println(cat.name)
}
Лайфхак: Властивості в конструкторі
Kotlin дозволяє вказувати властивості відразу в конструкторі, що значно скорочує код:
kotlin
class Cat(val name: String, val age: Int) {
fun meow(): String {
return "meow<3"
}
}
Це найпопулярніший спосіб оголошення класів.
💡 Простіше запам'ятати
object— це клас, який існує в єдиному екземплярі.class— це шаблон для створення багатьох об'єктів.
Kotlin для початківців
Вам також може сподобатися
7 хв читання
Kotlin для початківців: Структури даних — Абстракції
Ускладнимо завдання: у нас є притулок з домашніми тваринами, і нам потрібно зберігати уніфіковану інформацію про кожну тварину.
Читати нотатку
2 хв читання
Kotlin для початківців: Основи — Висновок
У цій частині курсу ми розглянули чимало базових тем, які є вже досить вагомим фактором у вивченні як і котліну, так і інших мов.
Читати нотатку