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

Диаграмма состояний в UML

В этом разделе мы познакомимся с новым типом диаграмм UML: с диаграммами состояний.

Диаграммы классов UML мы рассматривали в предыдущих главах. На них были отражены взаимоотношения между классами. В диаграмме классов отра- жена организация кода программы. Это были статические диаграммы, в кото- рых связи не изменяются при запуске программы.

Но иногда полезно рассмотреть объекты классов в динамическом режиме. С момента своего создания объект вовлекается в деятельность программы, вы- полняет различные действия и в конечном итоге удаляется. Ситуация постоян- но изменяется, и это графически отражено на диаграмме состояний.

С концепцией состояния мы привыкли встречаться в нашей повседневной жизни. Радио, например, имеет два состояния: включенное и выключенное. Стиральная машина имеет такие состояния как стирка, полоскание, отжим и остановка. Для телевизора характерны состояния для каждого из его каналов (канал 7 включен и т. д.).

Между состояниями существуют переходы. Через 20 минут полоскания ма- шина переходит в режим отжима. Получив сигнал от пульта управления, теле- визор переключается из активного состояния канала 7 в активное состояние канала 2.

На рис. 10.21 показана диаграмма состояния для программы HORSE, рассмот- ренной ранее в этой главе. На ней отражены различные состояния объекта клас- са horse, которые он может принимать во время работы программы.

Рис. 10.21. Диаграмма состояний объекта класса horse

 

53