Принципы объектно-ориентированного представления программных систем

Автор: Пользователь скрыл имя, 05 Сентября 2011 в 18:58, творческая работа

Описание работы

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

Работа содержит 1 файл

Принципы объектно-ориентированного представления программных систем.ppt

— 155.50 Кб (Скачать)
  • На рис. приведен пример нефизического включения частей (Студента, Преподавателя) в агрегат Вуз. Очевидно, что Студент и Преподаватель являются элементами Вуза, но они не входят в него физически. В этом случае говорят, что части включены в агрегат по ссылке.
  • Итак, между объектами существуют два вида отношений  связи и агрегация. Какое из них выбрать?
  • При выборе вида отношения должны учитываться следующие факторы:
  • связи обеспечивают низкое сцепление между объектами;
  • агрегация инкапсулирует части как секреты целого.

Классы 

  • Понятия объекта и класса тесно связаны. Тем не менее существует важное различие между этими понятиями. Класс  это абстракция существенных характеристик объекта.
  • Класс  описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл). Любой объект просто экземпляр класса.
  • Как показано на рис. , различают внутреннее представление класса (реализацию) и внешнее представление класса (интерфейс).
  • Интерфейс объявляет возможности (услуги) класса, но скрывает его структуру и поведение. Иными словами, интерфейс демонстрирует внешнему миру абстракцию класса, его внешний облик. Интерфейс в основном состоит из объявлений всех операций, применимых к экземплярам класса. Он может также включать объявления типов, переменных, констант и исключений, необходимых для полноты данной абстракции.
  • Интерфейс может быть разделен на 3 части:
  • публичную (public), объявления которой доступны всем клиентам;
  • защищенную (protected), объявления которой доступны только самому классу, его подклассам и друзьям;
  • приватную (private), объявления которой доступны только самому классу и его друзьям.
 
  • Другом класса называют класс, который имеет доступ ко всем частям этого класса (публичной, защищенной и приватной). Иными словами, от друга у класса нет секретов.
  • Реализация класса описывает секреты поведения класса. Она включает реализации всех операций, определенных в интерфейсе класса.

Виды отношений между классами 

  • Классы, подобно объектам, не существуют в изоляции. Напротив, с отдельной проблемной областью связывают ключевые абстракции, отношения между которыми формируют структуру из классов системы.
  • Всего существует четыре основных вида отношений между классами:
  • ассоциация (фиксирует структурные отношения связи между экземплярами классов);
  • зависимость (отображает влияние одного класса на другой класс);
  • обобщение-специализация («is а»-отношение);
  • целое-часть («part of»-отношение).
  • Для покрытия основных отношений большинство объектно-ориентированных языков программирования поддерживает следующие отношения:
  • 1) ассоциация;
  • 2) наследование;
  • 3) агрегация;
  • 4) зависимость;
  • 5) конкретизация;
  • 6) метакласс;
  • 7) реализация.
  • Ассоциации обеспечивают взаимодействия объектов, принадлежащих разным классам. Они являются клеем, соединяющим воедино все элементы программной системы. Благодаря ассоциациям мы получаем работающую систему. Без ассоциаций система превращается в набор изолированных классов-одиночек.
  • Наследование  наиболее популярная разновидность отношения обобщение-специализация. Альтернативой наследованию считается делегирование. При делегировании объекты делегируют свое поведение родственным объектам. При этом классы становятся не нужны.
  • Агрегация обеспечивает отношения целое-часть, объявляемые для экземпляров классов.

Информация о работе Принципы объектно-ориентированного представления программных систем