Перейти к содержанию

Объектно-ориентированное проектирование и программирование/Основы объектно-ориентированного проектирования

Материал из Викиверситета

Рассматриваются основные термины объектно-ориентированного проектирования[1].

Декомпозиция

[править]

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

Алгоритмическая декомпозиция — разделение системы, путем разделения алгоритмов, где каждый модуль системы выполняет один из этапов общего процесса.

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

Объект и класс

[править]

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

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

Класс - это множество объектов, имеющих общую структуру и общее поведение.

Отношения между классами

[править]
  • Ассоциация
  • Наследование
  • Агрегация
  • Использование
  • Инстанцирование

Примечания

[править]
  1. Даны по Гради Буч