Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Компоненты и классы



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

Первое отличие является самым важным. При моделировании системы решение о том, что использовать – класс или компонент, – очевидно: если моделируемая сущность непосредственно размещается в узле, то это компонент, в противном случае – класс.

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

Рис. 6.103. Компоненты и классы

Третье различие подчеркивает, что интерфейсы являются мостом между компонентами и классами. В следующем разделе более подробно объясняется, что, хотя и компоненты, и классы могут реализовывать интерфейсы, в отличие от класса услуги компонента обычно доступны только через его интерфейсы.





Дата публикования: 2014-10-25; Прочитано: 340 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.017 с)...