Жизненный цикл программной системы. Этапы проектирования ПС, страница 3

- отношение использования.

2) иерархия объектов строится на отношении агрегатирования – т.е. отношении объектов, при котором один объект содержит в своем составе другой объект, возможно другого класса.

4.  Понятие «объект». Состояние, поведение, индивидуальность объекта. Операции.

Объект – сущность, обладающая состоянием, поведением и индивидуальностью с точки зрения проектирования.

Объект - это совокупность данных (переменная), существующая в машинном представлении как единое целое, допускающая обращение по имени  или указателям.

Объект – экземпляр класса.

Состояние объекта – перечень всех возможных свойств и текущие значения каждого из этих свойств.

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

Индивидуальность объекта – совокупность всех свойств объекта, которая отличает его от всех других объектов.

Категории операций над объектами:

  1. функция управление – операция, которая изменяет состояние объекта.
  2. функция доступа – операция, дающая доступ для определения состояния объекта без его изменения
  3. функция реализации – операция над информацией из внешних источников, не изменяющая состояние данного объекта
  4. конструктор – операция создания и инициализации перечисленных операций
  5. деструктор – операция удаления объекта
  6. вспомогательные функции – функции, которые используют для реализации перечисленные операции.

5.  Отношения между объектами: использование, включение (агрегирование).

  1. Объект Х является глобальным к классу У.
  2. Объект Х является частью объекта У (агрегирование).
  3. Объект Х передается в качестве параметра объекта классу У.
  4. Объект Х создается как локальная переменная объекта класса У.

6.  Отношение простого наследования класса.

+

7.  Добавление и замещение, уточнение методов при наследовании.

Класс – описание структуры поведения объектов, связанных отношением общности.

Отношения между классами: использование, наследование, дополнение.

Наследование – отношение между классами, при котором один класс повторяет структуру и поведение другого или нескольких классов (множественное наследование).

При наследовании структуры возможно расширение и сокрытие полей.

При наследовании поведения могут быть добавлены, переопределены и уточнены методы.

Замещение: виртуальное, невиртуальное.

Невиртуальное замещение – адрес методов определяется на момент трансляции кода.

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

Уточнение метода – уточняющий метод выполняет метод суперкласса и добавляет некоторые действия.

  1. Порождение подклассов для специализации – полностью выполняется принцип подстановки. Существует различие между понятиями «тип» и «класс»: 2 класса принадлежат одному типу, если они реализуют один и тот же интерфейс.
  2. Порождение класса для спецификации. Родительский класс – абстрактный, подклассы должны обеспечить реализацию поведения, заложенную в суперклассе.
  3. Порождение с целью конструирования. Подкласс наследует структуру и поведение родительского класса, но при этом не поддерживается  принцип подстановки.
  4. Порождение классов для обобщения. Подкласс является более общим, чем суперкласс.
  5. Порождение классов для расширения. Добавление структуры и поведения класса.
  6. Порождение классов для ограничения. Возможности подкласса ограничены, по сравнению с родительским классом.
  7. Порождение классов для варьирования. Дочерний и родительский класс можно поменять местами в иерархии наследования.
  8. Порождение классов для комбинирования. Множественное наследование.