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

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

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

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

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

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

— 155.50 Кб (Скачать)

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

Абстрагирование 

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

Инкапсуляция 

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

Модульность 

  • В языках C++, Object Pascal абстракции классов и объектов формируют логическую структуру системы. При производстве физической структуры эти абстракции помещаются в модули.
  • В больших системах, где классов сотни, модули помогают управлять сложностью. Модули служат физическими контейнерами, в которых объявляются классы и объекты логической разработки.
  • Модульность определяет способность системы подвергаться декомпозиции на ряд сильно связанных и слабо сцепленных модулей.
  • Общая цель декомпозиции на модули: уменьшение сроков разработки и стоимости ПС за счет выделения модулей, которые проектируются и изменяются независимо. Каждая модульная структура должна быть достаточно простой, чтобы быть полностью понятой. Изменение реализации модулей должно проводиться без знания реализации других модулей и без влияния на их поведение.
  • Определение классов и объектов выполняется в ходе логической разработки, а определение модулей в ходе физической разработки системы. Эти действия сильно взаимосвязаны, осуществляются итеративно.

Иерархическая организация 

  • Прекрасным дополнением к этим механизмам является иерархическая организация  формирование из абстракций иерархической структуры. Определением иерархии в проекте упрощаются понимание проблем заказчика и их реализация  сложная система становится обозримой человеком.
  • Иерархическая организация задает размещение абстракций на различных уровнях описания системы.
  • Двумя важными инструментами иерархической организации в объектно-ориентированных системах являются:
  • структура из классов («is a»-иерархия);
  • структура из объектов («part of»-иерархия).
  • Чаще всего «is а»-иерархическая структура строится с помощью наследования. Наследование определяет отношение между классами, где класс разделяет структуру или поведение, определенные в одном другом (единичное наследование) или в нескольких других (множественное наследование) классах.

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