| Отношение часть-целое в объектно-ориентированных моделях |
| Статьи | |||
| Автор: Лукашевич Н.В. | |||
| 10.10.2011 18:13 | |||
Отношение часть-целое в объектно-ориентированных моделях
При моделировании отношения часть-целое в различных компьютерных ресурсах разработчики стараются учесть особенности этого отношения так, чтобы его можно было использовать для тех или иных операций в соответствующих программных приложениях. Рассмотрим некоторые подходы к описанию отношения часть-целое. В 90-х годах в научных публикациях, посвященных объектно-ориен-тированным подходам в программировании, развернулась дискуссия о необходимости выделения отношений часть-целое из общего набора атрибутов, приписываемых классам (Motschnig-Pitrik, Kaasboll, 1999; Artale и др., 1996), в связи с особыми свойствами этого отношения. Результаты этой дискуссии нашли свое воплощение, например, в языке для моделирования объектно-ориентированных систем UML (Леоненков, 2001). В этом языке среди всех отношений ассоциации выделяются отношения агрегации, которые служат для описания отношений между агрегатом (целое) и его составной частью. Дополнительно среди отношений агрегации выделяются отношения композиции, которые устанавливаются в тех случаях, когда части целого имеют тоеже время жизни, что и само целое. Эти части уничтожаются вместе с уничтожением целого. Отношение композиции - частный случай отношения агрегации. Это отношение служит для спецификации более сильной формы отношения часть-целое, при которой составляющие части тесно связаны с целым. Особенность этой связи заключается в том, что части не могут выступать в отрыве от целого, т. е. с уничтожением целого уничтожаются и все его составные части. В качестве примера отношения композиции обычно приводится пример окна компьютерной программы, которое может включать подзаголовок, главное меню и др. Таким образом, мы видим, что в языке UML отдельно моделируется отношение часть-целое и, кроме того, отдельно выделяется подвид этого отношения, характеризующийся жесткой зависимостью части от целого.
|