ооп 3. Основные понятия ООП: инкапсуляция, наследование, полиморфизм. Понятие объекта. Категории объектов. Отношения между объектами. Понятие класса. Отношения между классами. Понятие домена. - keykranz/oop_ex GitHub Wiki
Основные понятия ООП: инкапсуляция, наследование, полиморфизм.
-
Инкапсуляция — объединение данных и методов, работающих с ними в классе, скрывая детали реализации от пользователя.
-
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.
-
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Переопределение методов. Один интерфейс - много реализаций.
Понятие объекта. Категории объектов. Отношения между объектами.
Объект - реализация абстрактного понятия, обладающего: (экземпляр класса)
- Состояние - один из возможных вариантов существования объекта (спать, есть).
- Поведение - описание объектах в терминах изменения его состояния и передачи сообщений, данных под воздействием других объектов.
- Индивидуальность - сущность объекта, отличающая его от других объектов.
Категории объектов:
- Реальные (реальный предмет - кошка, стол, машина)
- Роли (абстракция выполняемой роли - человека или оборудования)
- Инциденты (явление, процесс)
- Взаимодействие (объект порожденный взаимодействием других объектов - перекресток, договор, взятка)
- Спецификация (используется для предоставления правил - правила дорожного движения)
Отношение между объектами:
- Отношения использования
- Объект воздействия (активный - воздействует на другие объекты, на него никто)
- Исполнитель (пассивный - воздействует на него, сам ни на кого не воздействует)
- Посредник (и то и другое. Большое количество посредников упрощает модификацию программы)
- Отношения включения – один объект включает другие объекты.
Понятие класса. Отношения между классами. Понятие домена.
Класс - абстракция множества предметов реального мира, имеющих общие правила поведения и характеристики.
Отношение между классами:
- Наследование (на основе одного класса строится новый)
- Использование (один класс вызывает методы другого)
- Наполнение (один класс содержит другие)
- Метаклассы (используется для создание других классов)
Домен - отдельный мир (реальный, гипотетический, абстрактный), населенный определенным набором объектов, которые ведут себя в соответствии с определенным доменом правилами.
Домен - связанное единое целое. Программа разбивается на домены в процессе создания. Класс определяется в одном домене. Активный домен - единое целое. Наличие класса в одном домене не требует наличия классов в другом.