-
Notifications
You must be signed in to change notification settings - Fork 6
Понятия ООП: инкапсуляция, наследования, полиморфизм. Объекты, классы, домены, отношения между ними
💠Основные принципы ООП:
- Инкапсуляция - свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе;
- Наследование – позволяет создать новый класс на основе уже существующего, частично или полностью заимствуя его функциональность;
- Полиморфизм – использование объектов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Объект – конкретная реализация абстрактного типа, обладающая следующими характеристиками: состояние, поведение и индивидуальность.
Состояние – один из возможных вариантов формы объекта.
Поведение – описание объекта в терминах изменения его состояния во время жизни или под воздействием других объектов (на его состояние могут влиять внутренние данные).
Индивидуальность – сущность объекта, отличающая его от других объектов.
💠Модель состояний Мура состоит:
- Из множества состояний: каждое состояние представляет стадию в жизненном цикле объекта.
- Из множества событий: каждое событие означает инцидент, указывающий на эволюционирование.
- Из правил перехода: правило определяет, какое новое состояние достигается объектом под воздействием события.
- Из действий: операции, которые должны быть выполнены, чтобы объект перешел в какое-то состояние.
💠Категории объектов:
- Реальные объекты – абстракция фактического существующего объекта реального мира.
- Роли – абстракции цели или назначения человека, части оборудования или организации.
- Инциденты – абстракция чего-то происшедшего или случившегося (наводнение, скачёк напряжения, выборы).
- Взаимодействия – объекты получаемые из отношений между другими объектами (перекресток, договор, взятка).
- Спецификации – используется для представления правил, критериев качества, стандартов (правила дорожного движения, распорядок дня).
💠Отношения между объектами:
-
Отношения использования (старшинства) - каждый объект включается в отношения. Может играть 3 роли:
- Активный объект– объект может воздействовать на другие объекты, но сам не поддается воздействию (воздействующий).
- Пассивный объект – объект может только подвергаться управлению, но не выступает в роли воздействующего (исполнитель).
- Посредники – такой объект может выступать в роли воздействующего, так и в роли исполнителя (создаются для помощи воздействующим). Чем больше посредников тем легче модифицировать программу.
-
Отношения включения – один объект включает другие объекты.
Класс – такая абстракция множества предметов реального мира, что все предметы этого множества(объекты) имеют одни и те же характеристики, все экземпляры подчинены и согласованы с одним и тем же поведением.
💠Отношения между классами:
- Наследование – на основе одного класса, мы строим новый класс, путем добавления новых характеристик и методов.
- Использование – один класс вызывает методы другого класса.
- Представление (наполнение) – это когда один класс содержит другие классы.
- Метакласс – класс, существующий для создания других классов.
Домен – отдельный, реальный, гипотетически и абстрактный мир, населенный отчетливым набором объектов, которые ведут себя в соответствии с предусмотренным доменом правилами. Каждый домен образует отдельное и связное единое целое.