ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн
Композиция: сложное включение
Композиция — это более сложная форма объединения. Она обладает всеми его свойствами, но имеет еще и такие, как:
часть может принадлежать только одному целому;
время жизни части то же, что и целого.
Машина имеет двери (помимо других деталей). Двери не могут принадле- жать другой машине, они являются ее неотъемлемой частью. В комнате есть пол, потолок и стены. Если включение — это взаимоотношение типа «имеет», то композиция — это взаимоотношение типа «состоит из».
В диаграммах UML композиция показывается так же, как и включение, за исключением того, что ромб стрелки закрашен. Это представлено на рис. 9.13.
Рис. 9.13. Композиция в диаграммах классов UML
Даже одиночный объект может относиться к классу как композиция. В ма- шине только один двигатель.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42