Skip to content

Latest commit

 

History

History
82 lines (50 loc) · 3.63 KB

README.md

File metadata and controls

82 lines (50 loc) · 3.63 KB

ООП Объектно-ориентированное программирование / OOP Object-oriented programming


Структура класса

Класс в Kotlin — это шаблон для создания объектов. Он может содержать:

  • Свойства (переменные).

  • Методы (функции).

  • Конструкторы (основной и вторичные).

  • Описывается в виде объектов.

  • Определенные свойства и поведения у каждого объекта.


ООП Объектно-ориентированное программирование

ООП — это парадигма программирования, основанная на концепции объектов. Основные принципы ООП:

  • Наследование.
  • Инкапсуляция.
  • Полиморфизм.

Наследование

Наследование позволяет создавать новый класс на основе существующего. Класс-потомок наследует свойства и методы класса-родителя. Возможность при проектировании объекта перенести в него реализацию доступного элемента.

В Kotlin все классы по умолчанию final, то есть их нельзя наследовать. Чтобы разрешить наследование, нужно использовать ключевое слово open.


Инкапсуляция

Внутренняя реализация класса / объекта:

  • Атрибуты;
  • Методы;
  • Конструкторы;
  • Внутренние классы.

Сокрытие внутренней реализации класса от внешнего мира и организация (предоставление) доступа к его состоянию только через публичные методы. Это достигается с помощью модификаторов доступа:

  • private — доступ только внутри класса.
  • protected — доступ внутри класса и его потомков.
  • internal — доступ внутри модуля.
  • public — доступ везде (по умолчанию).

Полиморфизм

Обработка данных и выполнение действий разными классами (объектами) через единый интерфейс. Мы не задумываемся о реализации методов при обращении к ним.

  • Перегрузка методов;
  • Обобщенные типы - generics;
  • Наследование и переопределение методов;
  • Реализация интерфейсов.

Интерфейсы

Интерфейс — это контракт, который класс может реализовать. Он содержит объявления методов, которые должны быть реализованы в классе. В Kotlin интерфейсы могут содержать методы с реализацией по умолчанию.


Абстракция

Анализ существующих систем, выделение важных и второстепенных признаков, связи между объектами.