ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 8) онлайн

Объединения

Классы могу иметь различные виды взаимоотношений. Классы программы TIMES1 образуют объединение. Мы обозначили его линией, соединяющей прямоуголь- ники классов. (В главе 9 «Наследование» мы рассмотрим другой вид взаимоот- ношений — обобщение.)

Что же входит в объединение? Объекты реального мира, которые представ- лены в программе в виде классов, имеют между собой некоторые очевидные связи. Водители связаны с машинами, книги — с библиотеками, лошадиные скачки — с ипподромом. Если бы эти объекты были классами программы, то они входили бы в объединение.

В программе TIMES2 класс time12 объединен с классом time24, потому что мы преобразовываем объекты одного класса в объекты другого.

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

В программе TIMES1 объект t12 класса time12 вызывает функцию преобразо- вания time12() объекта t24 из класса time24. Это происходит в функции main() в строке

time12 t12 =t24;

Этот вызов отражен на диаграмме линией, связывающей два класса.

 

23