- Главная
- Информатика
- Объектно-ориентированный подход к разработке программного обеспечения
Содержание
- 2. ОБЪЕКТНЫЙ ПОДХОД По мере развития программирования выделились две основные тенденции: Переход от программирования отдельных деталей к
- 3. ОБЪЕКТНЫЙ ПОДХОД Объектно-ориентированное проектирование базируется на объектной декомпозиции. В структурном проектировании под декомпозицией мы понимали такое
- 4. ОБЪЕКТНЫЙ ПОДХОД Если при функциональной декомпозиции мы разделяли задачу на шаги: получить изменения , прибавить к
- 5. ОБЪЕКТНЫЙ ПОДХОД Объектная декомпозиция предполагает эволюционный путь развития системы, базирующийся на устойчивых промежуточных формах. При этом
- 6. СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА 1) Сложная система представляется в виде иерархии подсистем и
- 7. СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА 4) Сложная система, как правило состоит из нескольких подсистем
- 8. ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА Методика ООП основана на описании и обработке классов и объектов. Каждый объект
- 9. ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА При создание программы с использованием объектного подхода можно выделить три основных этапа:
- 10. ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА Если при проектировании системы возникают сложности в определении ключевых абстракций, прикладной анализ
- 11. ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА Объектно-ориентированное программирование основано на представлении программы в виде совокупности объектов, причем каждый
- 12. ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА Объектно-ориентированное проектирование – это методология проектирования, которая объединяет процесс объектной декомпозиции и
- 13. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА При объектном подходе можно выделить четыре главных составляющих, без которых подход не может
- 14. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Абстрагирование. Оно заключается в нахождении сходств, не обращая внимания на различия между рассматриваемыми
- 15. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Абстракция должна охватывать только самую суть объекта. Это называется принципом наименьшей выразительности. 1.
- 16. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Выбор достаточного множества абстракций для заданной предметной области является одной из основных задач
- 17. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Ограничение доступа. Созданию абстракции какого-нибудь объекта предшествует решение о способе ее реализации, который
- 18. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Модульность. В таких ЯП, как С++ модульность является элементом конструкции, а классы и
- 19. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Типизация. Тип – это точное определение свойств, строения или поведения которые присущи некоторой
- 20. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Параллелизм. Каждая программа включает по крайней мере один канал управления. В параллельной системе
- 21. СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА Устойчивость. Каждый объект в программе занимает определенное место и существует в течении определенного
- 22. ОБЪЕКТЫ Объект с точки зрения его восприятия человеком можно определить, как нечто воспринимаемое мыслью, или как
- 23. ОБЪЕКТЫ Поведение объекта определяется последовательностью совершаемых над ним действий. Состояние объекта характеризуется перечнем всех возможных (обычно
- 24. ОБЪЕКТЫ Тот факт, что каждый объект характеризуется состоянием означает, что он занимает определенное пространство физически или
- 25. ОБЪЕКТЫ Можно выделить 5 основных видов операций над объектами: Модификатор (операция, которая изменяет состояние объекта) Селектор
- 26. ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ Отношения между двумя объектами основываются на предположении, что каждый объект имеет информацию о
- 27. ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ Пересылка сообщений между объектами, как правило, однонаправлена, но встречаются и двунаправленные связи. При
- 28. ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ Отношение включения. Если некоторый объект можно определить, как состоящий из других объектов, которые
- 29. КЛАССЫ В то время, как объекты отражают конкретную сущность, определенную в пространстве и во времени, класс
- 30. КЛАССЫ Существует внешнее и внутреннее проявление класса. Интерфейсная часть описания класса соответствует его внешнему проявлению, подчеркивает
- 31. ОТНОШЕНИЕ МЕЖДУ КЛАССАМИ Существует 3 основных типа отношений между классами: Разновидность, определяющая степень общности, Составная часть,
- 33. Скачать презентацию
ОБЪЕКТНЫЙ ПОДХОД
По мере развития программирования выделились две основные тенденции:
Переход от программирования
ОБЪЕКТНЫЙ ПОДХОД
По мере развития программирования выделились две основные тенденции:
Переход от программирования
Совершенствование языков программирования высокого уровня.
Задачи, решаемые программистами, становились все сложнее, и при их реализации методами структурного проектирования возникали определенные трудности. В результате был создан новый подход, в основу которого было положено понятие «ОБЪЕКТ», которое объединило в себе данные и обрабатывающие их функции.
Если рассматривать объект, как часть чего-то большего, и базируясь на этом строить иерархию, то мы получим структуру объектов (или структурную иерархию). Если рассматривать объект как нечто, принадлежащее к определенному типу – классу, то мы получим структуру классов (или типовую иерархию).
ОБЪЕКТНЫЙ ПОДХОД
Объектно-ориентированное проектирование базируется на объектной декомпозиции. В структурном проектировании под
ОБЪЕКТНЫЙ ПОДХОД
Объектно-ориентированное проектирование базируется на объектной декомпозиции. В структурном проектировании под
При объектной декомпозиции систему можно разделить, выбрав в качестве критерия декомпозиции принадлежность ее элементов к различным абстракциям данной предметной области.
Абстракцией является такая идея, которую можно изложить, проанализировать и понять независимо от механизмов ее реализации. Обнаружение общих абстракций и их механизмов облегчает понимание системы.
Словарем предметной области будем называть набор понятий для данной задачи.
ОБЪЕКТНЫЙ ПОДХОД
Если при функциональной декомпозиции мы разделяли задачу на шаги:
получить изменения
ОБЪЕКТНЫЙ ПОДХОД
Если при функциональной декомпозиции мы разделяли задачу на шаги:
получить изменения
прибавить к контрольной сумме, то есть при объектно-ориентированной декомпозиции мы будем идентифицировать объекты:
- файл изменений,
- контрольная сумма.
Хотя обе эти конструкции служат для решения одной и той же задачи, они делают это различными способами.
К вопросу о том, какой же способ декомпозиции более правильный, необходимо подходить комплексно, т.е. попытаться разложить систему, как одним, так и другим способом. Однако невозможно сконструировать систему, применяя одновременно и тот и другой метод, т.к. они различны по сути.
ОБЪЕКТНЫЙ ПОДХОД
Объектная декомпозиция предполагает эволюционный путь развития системы, базирующийся на устойчивых
ОБЪЕКТНЫЙ ПОДХОД
Объектная декомпозиция предполагает эволюционный путь развития системы, базирующийся на устойчивых
Правильно разделив систему на небольшие автономные подсистемы и по отдельности отладив каждую из них, можно получить конечный продукт практически свободный от ошибок.
СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА
1) Сложная система представляется в
СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА
1) Сложная система представляется в
2) Выбор нижнего уровня абстракции произволен и зависит от наблюдателя. И, следовательно, нижний уровень для одного может оказаться достаточно высоким для другого. Кроме того, в процессе развития системы объекты, которые на начальных этапах считались сложными на более поздних этапах рассматриваются, как элементы нижних уровней абстракции, из которых строятся более сложные компоненты.
3) Иерархическая система называется разложимой, если она может быть разделена на независимые части и почти разложимой, если ее составляющие не являются абсолютно независимыми.
СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА
4) Сложная система, как правило
СЛОЖНАЯ СИСТЕМА С ТОЧКИ ЗРЕНИЯ ОБЪЕКТНОГО ПОДХОДА
4) Сложная система, как правило
5) Сложная иерархическая система имеет тенденцию к развитию во времени. Причем этот процесс идет значительно быстрее, если для нее существуют устойчивые промежуточные формы.
Если объединить понятия структуры классов, структуры объектов и вышеперечисленные признаки сложной системы, то легко заметить, что фактически любую программную систему можно представить одной и той же формой сложной декомпозиции.
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Методика ООП основана на описании и обработке классов
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Методика ООП основана на описании и обработке классов
Каждый объект в системе обладает определенными свойствами и поведением, моделирующим поведение реального объекта, и принадлежит к определенному классу.
Объект можно определить как некую сущность, которая четко проявляет свое поведение. Главным в определении объекта является объединение идей абстрагирования данных и алгоритмов. Объект обладает целостностью, которую не следует нарушать. Объект может менять свое состояние, поведение, управлять или подвергаться управлению со стороны других объектов. Каждый объект в системе обладает неизменными качествами, но может менять свое состояние.
ПРИМЕР. Рассмотрим в качестве объекта лифт:
Он может быть исправным или нет.
Двигаться вверх, вниз или не двигаться вовсе.
Может быть загруженным или пустым.
Грузовым или пассажирским, оставаясь при этом тем, что он есть и двигаясь в пределах своих направляющих
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
При создание программы с использованием объектного подхода можно
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
При создание программы с использованием объектного подхода можно
Объектно-ориентированный анализ (ООА).
Объектно-ориентированное проектирование (OOD).
Объектно-ориентированное программирование (ООР).
Объектно-ориентированный анализ направлен на создание моделей близких к реальности. Это методология, при которой требования формируются на основе классов и объектов, которые составляют словарь предметной области. На результатах ООА строятся модели, на которых базируется OOD, создающее основу для ООР. Говоря о ООА нельзя не вспомнить о прикладном анализе. Его методы аналогичны методам ООА, но если ООА используется для решения какой-то конкретной задачи, то прикладной анализ направлен на поиск общих классов и объектов, свойственных всем переменным внутри определенной сферы применения.
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Если при проектировании системы возникают сложности в определении
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Если при проектировании системы возникают сложности в определении
Построение каркаса модели.
Изучение уже существующих систем данной предметной области.
Определение схожести и различий между разрабатываемой системой и уже существующей (после консультации с экспертами, в качестве которых могут выступать пользователи, т. е. Специалисты, которые не являются программистами, но близко знакомы с исследуемой проблемой),
Пересмотр существующей системы на основе предъявляемых требований.
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Объектно-ориентированное программирование основано на представлении программы в виде
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Объектно-ориентированное программирование основано на представлении программы в виде
Можно выделить три основных требования, предъявляемых к ООР:
В качестве элемента конструкции должны использоваться не алгоритмы а объекты.
Каждый объект является реализацией какого-нибудь класса.
Классы должны быть организованы иерархически.
Если методология программирования подразумевает правильное и эффективное использование механизмов языков программирования, то методы проектирования основное внимание уделяют правильности и эффективности структурирования сложной системы.
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Объектно-ориентированное проектирование – это методология проектирования, которая объединяет
ОСНОВНЫЕ ПОЛОЖЕНИЯ ОБЪЕКТНОГО ПОДХОДА
Объектно-ориентированное проектирование – это методология проектирования, которая объединяет
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
При объектном подходе можно выделить четыре главных составляющих, без
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
При объектном подходе можно выделить четыре главных составляющих, без
Абстрагирование
Ограничение доступа
Модульность
Иерархия
Кроме главных существуют три дополнительных, которые являются необязательными:
Типизация
Параллелизм
Устойчивость
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Абстрагирование. Оно заключается в нахождении сходств, не обращая внимания
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Абстрагирование. Оно заключается в нахождении сходств, не обращая внимания
Абстракция – это такие существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов, т. е. четко определяют особенности данного объекта с точки зрения его дальнейшего рассмотрения и анализа.
Абстрагирование концентрирует внимание на внешних особенностях объекта, позволяет определить самые существенные из них и отделить их от деталей реализации. Такое разделение поведения и осуществления называется барьером абстракции.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Абстракция должна охватывать только самую суть объекта. Это называется
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Абстракция должна охватывать только самую суть объекта. Это называется
1. Существует множество абстракций рассмотрим некоторые из них:
2. Абстракция сущности объекта – объект представляет собой модель существенных сторон предметной области.
3. Абстракция поведения – объект состоит из множества операций, каждая из которых выполняет определенную функцию.
4. Абстракция в виде виртуальной машины – объект включает группу операций виртуальной машины, которые используются либо для управления объектом, либо соответствует функциям нижнего уровня (т. е. Либо управляют прерываниями, либо сами являются прерываниями).
5. Произвольная абстракция – объект включает в себя набор независимых по отношению друг к другу операций и т. д.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Выбор достаточного множества абстракций для заданной предметной области является
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Выбор достаточного множества абстракций для заданной предметной области является
Описание поведения объекта заключается в описании операций, которые объект выполняет над другими объектами и операций, которые выполняются над данным объектом. Это называется протоколом.
Все абстракции обладают, как статическими, так и динамическими свойствами.
Пример. Рассмотрим объект – файл. Он требует определенного объема памяти, имеет имя и содержание. Эти атрибуты являются статическими, а их конкретные значения, которые изменяются в процессе использования объекта, являются динамическими.
Протокол полностью определяет поведение объекта, как со статической, так и с динамической точки зрения.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Ограничение доступа. Созданию абстракции какого-нибудь объекта предшествует решение о
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Ограничение доступа. Созданию абстракции какого-нибудь объекта предшествует решение о
Абстрагирование и ограничение доступа взаимодополняют друг друга. Абстрагирование концентрирует внимание на внешних особенностях объекта, а ограничение доступа не позволяет объектам-пользователям углубляться во внутреннее устройство объекта. Как в том, так и в другом случае объекты верхних уровней абстракции не связаны непосредственно с подробностями их реализации на более низких уровнях.
Рассмотрим ограничение доступа на примере стека. Пусть у нас объявлен массив, организованный, как стек. Мы можем пользоваться им как стеком, но можем так же, при необходимости, обратиться непосредственно к каждому элементу, т. к. объявлен он как массив. А если мы объявим его, как стек, то доступ будет ограничен, и мы сможем им пользоваться как стеком и только.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Модульность. В таких ЯП, как С++ модульность является элементом
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Модульность. В таких ЯП, как С++ модульность является элементом
Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд тесно связанных и взаимодействующих модулей.
Иерархия. Если не считать самых простых случаев, число абстракций в системе намного превышает возможность их одновременного контроля. Ограничение доступа несколько упрощает задачу, убирая из рассмотрения внутреннее устройство абстракции. Модульность в свою очередь упрощает задачу, объединяя логически связанные абстракции в группы, на этого не достаточно. Создание иерархической структуры из абстракций значительно упрощает понимание сложной системы. Иерархию можно рассматривать, как упорядоченную систему абстракций.
При объектном подходе выделяются две иерархические структуры: структура классов (или иерархия по типу) и структура объектов или (иерархия по составу).
Основным видом иерархии по типу является иерархия наследования. Наследование – это такое соотношение между классами, когда один класс использует структурную или функциональную часть другого класса или классов, соответственно простое или множественное наследование.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Типизация. Тип – это точное определение свойств, строения или
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Типизация. Тип – это точное определение свойств, строения или
Типизация позволяет выполнить описание абстракции т. е., что реализуется поддержка проектных решений на уровне ЯП. ЯП могут быть типизированы строго и нестрого.
Строгая типизация ограничивает перечень абстракций, которые могут быть использованы в конкретных процедурах, т. е. ЯП строго типизирован, если требует описания типа каждой переменной, параметра или поля. В таких ЯП все переменные проходят проверку на соответствие типов.
Если концепция строгой типизации связана с контролем соответствия типов, то концепция связей относится ко времени, когда имена связываются с определенными типами. Статическая или ранняя связь означает, что типы всех переменных определены уже на этапе компиляции. При динамической или поздней связи типы переменных определяются только на этапе выполнения программы.
Концепции типизации и связей являются независимыми, а следовательно ЯП может быть строго типизирован как со статическими, так и с динамическими связями.
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Параллелизм. Каждая программа включает по крайней мере один канал
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Параллелизм. Каждая программа включает по крайней мере один канал
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Устойчивость. Каждый объект в программе занимает определенное место и
СОСТАВЛЯЮЩИЕ ОБЪЕКТНОГО ПОДХОДА
Устойчивость. Каждый объект в программе занимает определенное место и
Существует несколько видов устойчивости объектов:
Промежуточные результаты вычислений
Локальные переменные
Глобальные переменные
Данные, сохраняемые между вызовами основной программы
Данные, не изменяющиеся в различных версиях программы
Данные, которые переживают программу
Устойчивость позволяет сохранять объектам не только свое состояние, но и принадлежность к определенному классу. Устойчивость – это свойство объекта существовать во времени независимо от процесса, породившего этот объект, и (или) в пространстве, т. е. возможность перемещения объекта из адресного пространства в котором он был создан.
ОБЪЕКТЫ
Объект с точки зрения его восприятия человеком можно определить, как нечто
ОБЪЕКТЫ
Объект с точки зрения его восприятия человеком можно определить, как нечто
Впервые в программировании это понятие было введено в языке simula и означало какой-либо аспект моделируемой реальности.
Обобщив сказанное выше можно дать следующее определение объекта:
Объект представляет собой опознаваемую сущность, предмет или блок – реальные или абстрактные, имеющие важное функциональное значение в данной предметной области.
С точки зрения ООР можно дать следующее определение:
Объект – это некоторая сущность, обладающая состоянием, поведением и индивидуальностью.
Структура и состояние сходных объектов определяет общий для них класс. Понятия объект и экземпляр класса являются взаимозаменяемыми.
ОБЪЕКТЫ
Поведение объекта определяется последовательностью совершаемых над ним действий.
Состояние объекта характеризуется перечнем
ОБЪЕКТЫ
Поведение объекта определяется последовательностью совершаемых над ним действий.
Состояние объекта характеризуется перечнем
К числу свойств объекта относятся присущие ему или приобретенные характеристики, делающие данный объект самим собой.
Все свойства объекта характеризуются значениями их параметров. Эти значения могут быть простыми количественными характеристиками или определяться при помощи других объектов.
ПРИМЕР. Рассмотрим лифт: его состояние можно определить
- при помощи цифры, обозначающей номер этажа на котором он в данный момент находится;
- наличием пассажиров, которых можно рассматривать, как самостоятельные объекты;
- количеством пассажиров, т. е количеством самостоятельных объектов, характеризующих состояние данного объекта.
ОБЪЕКТЫ
Тот факт, что каждый объект характеризуется состоянием означает, что он занимает
ОБЪЕКТЫ
Тот факт, что каждый объект характеризуется состоянием означает, что он занимает
Объекты не могут существовать изолированно. Они воздействуют сами или подвергаются воздействию со стороны других объектов. Поведение характеризует, как объект воздействует или подвергается воздействию с точки зрения изменения состояния взаимодействующих объектов. Иначе говоря поведение объекта полностью определяется его действиями.
Операцией называется определенное воздействие одного объекта на другой с целью вызвать определенную реакцию. В объектно-ориентированных языках программирования операции, выполняемые над данным объектом называются методами или методической частью объекта.
ОБЪЕКТЫ
Можно выделить 5 основных видов операций над объектами:
Модификатор (операция, которая изменяет
ОБЪЕКТЫ
Можно выделить 5 основных видов операций над объектами:
Модификатор (операция, которая изменяет
Селектор (операция, дающая доступ для определения состояния объекта без его изменения)
Итератор (операция доступа к содержимому объекта по частям в определенной последовательности)
Конструктор (операция создания и (или)инициализации объекта)
Деструктор (операция разрушения объекта и (или) освобождения занимаемой памяти)
Индивидуальность – это такие свойства объекта, которые отличают его от любого другого объекта.
В большинстве ЯП для идентификации временных объектов, их адресации используются имена переменных.
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Отношения между двумя объектами основываются на предположении, что каждый
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Отношения между двумя объектами основываются на предположении, что каждый
Отношения использования. Каждый объект, включенный в эти отношения, может выполнять одну из трех следующих функций:
Воздействие, т. е объект может воздействовать, никогда не подвергаясь воздействию со стороны других объектов, что соответствует понятию – активный объект
Исполнение, в этом случае объект подвергается воздействию со стороны другого объекта, никогда не выступая в роли активного
Посредничество, такой объект может быть, как воздействующим, так и исполнителем, он создается для выполнения операций в интересах некоторого активного объекта или другого посредника
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Пересылка сообщений между объектами, как правило, однонаправлена, но встречаются
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Пересылка сообщений между объектами, как правило, однонаправлена, но встречаются
Объект-транслятор – пассивный объект с одним каналом управления
Блокированный объект – пассивный объект с несколькими каналами управления
Параллельный объект – активный объект с несколькими каналами управления
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Отношение включения. Если некоторый объект можно определить, как состоящий
ОТНОШЕНИЯ МЕЖДУ ОБЪЕКТАМИ
Отношение включения. Если некоторый объект можно определить, как состоящий
Отношения включения и использования тесно связаны. Отношения включения имеют то преимущество, что при их использовании сокращается число обрабатываемых объектов. Однако в этом случае возникает сильная зависимость между объектами, чего можно избежать в том случае, когда будут задействованы отношения использования.
КЛАССЫ
В то время, как объекты отражают конкретную сущность, определенную в пространстве
КЛАССЫ
В то время, как объекты отражают конкретную сущность, определенную в пространстве
С точки зрения ООD можно дать следующее определение: класс – это множество объектов, связанных общностью структуры и поведения.
Каждый объект является экземпляром какого-либо класса, а каждый класс может порождать любое необходимое количество объектов. Как правило классы статичны. Все их особенности и содержание определяется уже в процессе компиляции, а следовательно каждый создаваемый объект относится к строго определенному классу. Объект является динамической составляющей системы, и в процессе ее реализации может создаваться, модифицироваться и разрушаться. Объект не может быть классом, но класс может быть объектом. Класс, экземплярами которого являются классы называется метаклассом.
В то время, как объект существует и играет в системе определенную роль, класс содержит описание структуры и поведения всех объектов, связанных отношениями общности, то есть класс в системе играет роль соглашения о связях в отношении абстракции и всех ее реализаций. В языках со строгой типизацией и ранними связями нарушение таких соглашений можно выявить уже на этапе компиляции.
КЛАССЫ
Существует внешнее и внутреннее проявление класса. Интерфейсная часть описания класса соответствует
КЛАССЫ
Существует внешнее и внутреннее проявление класса. Интерфейсная часть описания класса соответствует
Интерфейсную часть класса можно разделить на три составляющие:
Общедоступная – та часть, в которой даются определения, видимые для всех объектов пользователей
Защищенная, где даются определения, видимые только для объектов, относящихся к подклассам данного класса
Обособленная, в которой даются определения, скрытые для объектов всех других классов
ОТНОШЕНИЕ МЕЖДУ КЛАССАМИ
Существует 3 основных типа отношений между классами:
Разновидность, определяющая степень
ОТНОШЕНИЕ МЕЖДУ КЛАССАМИ
Существует 3 основных типа отношений между классами:
Разновидность, определяющая степень
Составная часть, которая определяет агрегатирование объектов (т. е. показывает, что какой-то объект является частью другого объекта),
Ассоциативность – т. е. смысловая связь между классами, которые не связаны никакими другими типами отношений.
Объектно-ориентированные ЯП реализуют перечисленных выше отношения несколькими общими способами:
Наследование
Использование
Представление
Метаклассы