Принципы объектно-ориентированного представления программных систем
Творческая работа, 05 Сентября 2011, автор: пользователь скрыл имя
Описание работы
Создавая понятие в интересах какой-либо задачи, мы отвлекаемся (абстрагируемся) от несущественных характеристик конкретных объектов, определяя только существенные характеристики
Работа содержит 1 файл
Принципы объектно-ориентированного представления программных систем.ppt
— 155.50 Кб (Скачать)- На рис. приведен пример нефизического
включения частей (Студента, Преподавателя) в агрегат Вуз. Очевидно, что Студент и Преподаватель являются элементами Вуза, но они не входят в него физически . В этом случае говорят, что части включены в агрегат по ссылке.
- Итак, между объектами существуют два
вида отношений — связи и агрегация . Какое из них выбрать? - При выборе вида отношения должны учитываться следующие факторы:
- связи обеспечивают низкое сцепление между объектами;
- агрегация инкапсулирует части как секреты целого.
Классы
- Понятия объекта и класса тесно
связаны. Тем не менее существует важное различие между этими понятиями . Класс — это абстракция существенных характеристик объекта.
- Класс — описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл). Любой объект — просто экземпляр класса.
- Как показано на рис. , различают внутреннее представление класса (реализацию) и внешнее представление класса (интерфейс).
- Интерфейс объявляет возможност
и (услуги) класса, но скрывает его структуру и поведение . Иными словами, интерфейс демонстрирует внешнему миру абстракцию класса, его внешний облик. Интерфейс в основном состоит из объявлений всех операций, применимых к экземплярам класса . Он может также включать объявления типов, переменных, констант и исключений, необходимых для полноты данной абстракции.
- Интерфейс может быть разделен
на 3 части: - публичную (public), объявления которой доступны всем клиентам;
- защищенную (protected), объявления которой доступны только самому классу, его подклассам и друзьям;
- приватную (private), объявления которой доступны только самому классу и его друзьям.
- Другом класса называют класс, который имеет доступ ко всем ч
астям этого класса (публичной, защищенной и приватной). Иными словами, от друга у класса нет секретов.
- Реализация класса описывает се
креты поведения класса. Она включает реализации всех операций , определенных в интерфейсе класса .
Виды отношений между классами
- Классы, подобно объектам, не существуют в изоляции. Напротив, с отдельной проблемной область
ю связывают ключевые абстракции , отношения между которыми формируют структуру из классов системы . - Всего существует четыре основных вида отношений между классами:
- ассоциация (фиксирует структурные отношения — связи между экземплярами классов);
- зависимость (отображает влияние одного класса на другой класс);
- обобщение-специализация («is а»-отношение);
- целое-часть («part of»-отношение).
- Для покрытия основных отношени
й большинство объектно-ориентированных языков программирования поддерживает следующие отношения : - 1) ассоциация;
- 2) наследование;
- 3) агрегация;
- 4) зависимость;
- 5) конкретизация;
- 6) метакласс;
- 7) реализация.
- Ассоциации обеспечивают взаимо
действия объектов, принадлежащих разным классам. Они являются клеем, соединяющим воедино все элементы программной системы. Благодаря ассоциациям мы получаем работающую систему. Без ассоциаций система превращается в набор изолированных классов -одиночек.
- Наследование — наиболее популя
рная разновидность отношения обобщение -специализация. Альтернативой наследованию считается делегирование. При делегировании объекты делегируют свое поведение родственным объектам. При этом классы становятся не нужны. - Агрегация обеспечивает отношения целое-часть, объявляемые для экземпляров классов.