Введение в объектно-ориентированное программирование на Kotlin
Курс "Введение в объектно-ориентированное программирование на Kotlin" ориентирован в первую очередь на тех, кто знакомится с концепцией ООП впервые. Является продолжением курса "Kotlin с нуля".
В курсе не рассматриваются все особенности ООП в Kotlin, только ключевые понятия и принципы ООП (классы, объекты, свойства, методы, что такое конструкторы, сеттеры и геттеры, наследование и переопределение, абстрактные классы и интерфейсы) и их реализация в Kotlin.
Обновлено: февраль 2023Содержание курса
- Классы, объекты, свойства и функции-члены
Рассматриваются понятия класса, объекта, свойства и метода на примере создания их в Kotlin.
- Конструкторы класса
Конструктор класса - это метод, который вызывается при создании объекта. В Kotlin конструкторы создаются с помощью ключевого слова constructor.
- Геттеры и сеттеры, блок init в Kotlin
В Kotlin каждое свойство имеет геттер и сеттер по умолчанию. Явно задаются с помощью методов
get()
иset()
. Первичный конструктор может иметь инициализатор - блокinit{}
. - Наследование в объектно-ориентированном программировании
В уроке дается представление о наследовании в объектно-ориентированном программировании, его преимуществах, а также особенностях реализации в Kotlin.
- Переопределение методов
Переопределение - это новое определение метода родительского класса в дочернем. В Kotlin такие методы имеют модификатор
override
. При этом в родительском классе они должны иметь модификаторopen
. - Перегрузка операторов
В языках программирования перегрузка операторов - возможность определения в классе методов, вызываемых, когда в выражениях с объектами этого класса используются те или иные операторы языка.
- Абстрактные классы
Абстрактные классы – это классы, от которых нельзя создавать объекты. Они используются в качестве суперкласса, в который вынесено все общее из дочерних классов.
- Интерфейсы в программировании
От интерфейсов также как от абстрактных классов нельзя создавать объекты, их можно только наследовать. Интерфейсы предоставляют дополнительную функциональность. Один интерфейс можно подключать разным неродственным классам.
PDF-версия курса с ответами к практическим работам