Учебник по ООП в Kotlin
Основы
Введение
Классы и объекты
Свойства
Методы
Параметры методов
Обращение через this
Конструктор
Блок init
Свойства в конструкторе
Значения по умолчанию
Вторичный конструктор
Отложенная инициализация
Приватные свойства
Приватные методы
Геттеры
Сеттеры
Вычисляемые свойства
Практика
Объекты в коде
Массив объектов
Список объектов
Карта объектов
Объект внутри объекта
Класс внутри класса
Цепочки вызовов
Nullable-объекты
Безопасный вызов
Сравнение объектов
Копирование ссылок
Практика
Наследование
Введение
Открытый класс
Методы родителя
Методы потомка
Переопределение методов
Вызов super
Конструктор при наследовании
Открытые свойства
private при наследовании
protected
final
Проверка типа
Приведение типа
Практика
Абстрактные классы
Интерфейсы
Введение
Реализация интерфейса
Методы интерфейса
Свойства интерфейса
Методы с телом
Несколько интерфейсов
Наследование интерфейсов
Класс и интерфейс
Проверка интерфейса
Практика
Data class
Введение
Свойства в заголовке
Автоматический toString
Сравнение объектов
Копирование
Деструктуризация
Список data class
Карта data class
Значения по умолчанию
Свойства в теле
Практика
Enum и sealed
Введение
Enum class
Enum в when
Свойства enum
Методы enum
entries и valueOf
Sealed class
Sealed в when
Данные в вариантах
Sealed interface
Практика
Object и companion
Введение
Object declaration
Единственный объект
Состояние объекта
Companion object
Создание через companion
Константы
Object expression
Анонимный object
Практика
Пакеты и импорты
Введение
Объявление package
Папки и пакеты
Импорт
Несколько импортов
Псевдоним import
Импорт со звездочкой
Видимость public и internal
Классы в файлах
Практика
Делегирование
Введение
Делегирование класса
Делегирование интерфейса
Ключевое слово by
Переопределение
Делегат lazy
observable
Свойства из карты
Свой делегат
Практика