Нотация и семантика языка UML


Методология объектно-ориентированного программирования - часть 3


Если в качестве производного рассмотреть класс "Персональный компьютер", то все выделенные выше свойства будет содержать и этот класс. Можно сказать, что класс "Персональный компьютер" наследует свойства родительского класса "Компьютер". Однако кроме перечисленных свойств классу-потомоку будут присущи дополнительные, например, наличие системного блока и материнской платы с разъемом для установки микропроцессора.

В свою очередь класс "Персональный компьютер" может быть классом-предком для других классов, в частности "Рабочая станция", "Сервер" и "Ноутбук". С этой точки зрения все указанные классы наследуют свойства родительского класса "Персональный компьютер", а возможно и переопределяют некоторые из них. Описанная выше текстовая информация о соотношении классов в данном примере обладает одним серьезным недостатком, а именно, отсутствием наглядности. В этой связи возникает вопрос: а возможно ли представить иерархию наследования классов в визуальной форме? В понятийной логике для изображения понятий используются окружности или прямоугольники. С помощью этой графической нотации, иерархию классов для рассмотренного примера можно представить в виде вложенных прямоугольников или окружностей, каждый из которых соответствует отдельному классу (рис. 1.1).

Иерархия вложенности классов для примера общего класса "Компьютер"

Рис. 1.1.  Иерархия вложенности классов для примера общего класса "Компьютер"

Подобное изображение обладает серьезным недостатком. Из представленного рисунка не ясно, изображена ли на нем иерархия понятий или декомпозиция класса "Компьютер" на его составные части. Как будет показано далее, использование нотации UML позволяет устранить данную неопределенность посредством введения в рассмотрение двух различных отношений: обобщения и агрегации (Лекция 6).

Следующий принцип ООП - инкапсуляция. Инкапсуляция характеризует сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей.




- Начало -  - Назад -  - Вперед -



Книжный магазин