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