Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Понятие объектно-ориентированного анализа. Классы и объекты. Основные отношения между классами и объектами.




Лагунов А.Ю.

Компьютерные науки

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ С ПРИМЕРАМИ НА C#


Понятие объектно-ориентированного анализа. Классы и объекты. Основные отношения между классами и объектами.

По теории Г.Буча объектно-ориентированный анализ - это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области. При этом предметная область или домен — это пространство, в котором формулируется определенная задача, т.е. набор понятий, представляющих важные аспекты решаемой задачи.

В результате объектно-ориентированного анализа строится концептуальная база — объектная модель, которая включает в себя 4 главных элемента:

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

2. Инкапсуляция - это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации.

3. Модульность - это свойство системы, которая была разложена на внутренне связные, но слабо связанные между собой модули.

4. Иерархия - это упорядочение абстракций, расположение их по уровням.

Эти элементы являются главными в том смысле, что без них модель не будет объектно-ориентированной. Кроме главных, имеются еще 3 дополнительных элемента:

1. Типизация - это способ защититься от использования объектов одного класса вместо другого, или по крайней мере управлять таким использованием.

2. Параллелизм - это свойство, отличающее активные объекты от пассивных.

3. Сохраняемость - способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь из своего первоначального адресного пространства.

Важным элементом объектной модели является объект. С точки зрения восприятия человеком объектом может быть:

- осязаемый и (или) видимый предмет;

- нечто, воспринимаемое мышлением;

- нечто, на что направлена мысль или действие.

Объект обладает состоянием, поведением и идентичностью. Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного объекта и текущими (обычно динамическими) значениями каждого из этих свойств. Поведение - это то, как объект действует и реагирует; поведение выражается в терминах состояния объекта и передачи сообщений. Идентичность - это такое свойство объекта, которое отличает его от всех других объектов.

Для инициализации объектов в процессе их конкретизации используются специальные методы, называемые конструкторами. Процесс создания объекта называется реализацией.

В объектной модели объект не существует сам по себе, а обычно взаимодействует с другими объектами. Выделяют два основных типа взаимодействия объектов между собой: связи и агрегация. Связи характеризуют равноправные или клиент-серверные отношения между объектами. Участвуя в связи, объект может выполнять одну из следующих трех ролей: актер (объект может воздействовать на другие объекты, но сам никогда не подвергается воздействию других объектов), сервер (объект может только подвергаться воздействию со стороны других объектов, но он никогда не выступает в роли воздействующего объекта) или агент (такой объект может выступать как в активной, так и в пассивной роли; как правило, объект-агент создается для выполнения операций в интересах какого-либо объекта-актера или агента). Агрегация описывает отношения целого и части, приводящие к соответствующей иерархии объектов, причем, идя от целого (агрегата), мы можем придти к его частям (атрибутам).

Для организации взаимодействия каждый объект должен иметь интерфейс, который представляет собой список служб, предоставляемых компонентом. Интерфейс бывает:

- открытым (public) – разрешение доступа для всех объектов;

- защищенным (protected) – разрешение доступа только самому классу и его подклассам;

- закрытым (private) – разрешение доступа только самому классу.

Структура и поведение схожих объектов определяет общий для них класс. Классы так же как и объекты вступают в отношения. Выделяют 4 главных типа отношений между классами. Ассоциация — это смысловая связь: один-к-одному, один-ко-многим или многие-ко-многим. Наследование — дочерний класс может унаследовать структуру и поведение родительских классов. Агрегация описывает отношения целого и части (“Has-a” — «содержит»: один объект содержится в другом объекте). Использование – это агрегация, когда одна из сторон (клиент) пользуется услугами второй стороны (сервера).

Моделирование в процессе объектно-ориентированного анализа позволяет решить 4 различные задачи:

- визуализировать систему в ее текущем или желательном для нас состоянии;

- определить структуру или поведение системы;

- получить шаблон, позволяющий затем сконструировать систему;

- документировать принимаемые решения, используя полученные модели.

Основные принципы моделирования:

1. Выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение.

2. Каждая модель может быть воплощена с разной степенью абстракции.

3. Лучшие модели — те, что ближе к реальности.

4. Нельзя ограничиваться созданием только одной модели. Наилучший подход при разработке любой нетривиальной системы — использовать совокупность нескольких моделей, почти независимых друг от друга.

 


Объектно-ориентированная парадигма программирования. Объекты, полиморфизм и наследование. Объектно-ориентированное проектирование.

Технология программирования - это совокупность методов и средств разработки (написания) программ и порядок применения этих методов и средств.

Основные идеи объектно-ориентированного подхода опираются на следующие положения:

· - Программа представляет собой модель некоторого реального процесса, части реального мира.

· - Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.

· - Объект (Object) описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.

· - Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.

· - Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс (Class) однотипных объектов.

Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Технология ООП (объектно-ориентированного программирования) основана на трех основополагающих концепциях:

Инкапсуляция - Объект представляет собой контейнер, содержащий в себе данные и программы по управлению данным объектом.

Наследование - это процесс, посредством которого, один объект может приобретать свойства другого. Точнее, объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.

Полиморфизм - это свойство, которое позволяет одно и тоже имя использовать для решения нескольких технически разных задач.

В данном определении можно выделить три части: 1) OOП использует в качестве базовых элементов объекты, а не алгоритмы; 2) каждый объект является экземпляром какого-либо определенного класса; 3) классы организованы иерархически. Программа будет объектно-ориентированной только при соблюдении всех трех указанных требований. В частности, программирование, не основанное на иерархических отношениях, не относится к OOП, а называется программированием на основе абстрактных типов данных.

Программирование прежде всего подразумевает правильное и эффективное использование механизмов конкретных языков программирования. Проектирование, напротив, основное внимание уделяет правильному и эффективному структурированию сложных систем. Мы определяем объектно-ориентированное проектирование следующим образом:

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

В данном определении содержатся две важные части: объектно-ориентированное проектирование 1) основывается на объектно-ориентированной декомпозиции; 2) использует многообразие приемов представления моделей, отражающих логическую (классы и объекты) и физическую (модули и процессы) структуру системы, а также ее статические и динамические аспекты.

Именно объектно-ориентированная декомпозиция отличает объектно-ориентированное проектирование от структурного; в первом случае логическая структура системы отражается абстракциями в виде классов и объектов, во втором - алгоритмами.

 

Pointer — Указатель (отказ от объекта)

MainMenu — главное меню

PopupMenu — дополнтельное меню

Label — Метка

Edit — Текстовое окно

Memo — Большое текстовое окно

Button — Командная кнопка

CheckBox — Переключатель-индикатор

RadioButton — Кнопка выбора

ListBox — Список

ComboBox — Комбинированный список

ScrollBar — Линейка прокрутки

GroupBox — Группа

RadioGroup — Группа кнопок

Panel — Панель

ActionList —

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...