ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн
Диаграмма состояний в UML
В этом разделе мы познакомимся с новым типом диаграмм UML: с диаграммами состояний.
Диаграммы классов UML мы рассматривали в предыдущих главах. На них были отражены взаимоотношения между классами. В диаграмме классов отра- жена организация кода программы. Это были статические диаграммы, в кото- рых связи не изменяются при запуске программы.
Но иногда полезно рассмотреть объекты классов в динамическом режиме. С момента своего создания объект вовлекается в деятельность программы, вы- полняет различные действия и в конечном итоге удаляется. Ситуация постоян- но изменяется, и это графически отражено на диаграмме состояний.
С концепцией состояния мы привыкли встречаться в нашей повседневной жизни. Радио, например, имеет два состояния: включенное и выключенное. Стиральная машина имеет такие состояния как стирка, полоскание, отжим и остановка. Для телевизора характерны состояния для каждого из его каналов (канал 7 включен и т. д.).
Между состояниями существуют переходы. Через 20 минут полоскания ма- шина переходит в режим отжима. Получив сигнал от пульта управления, теле- визор переключается из активного состояния канала 7 в активное состояние канала 2.
На рис. 10.21 показана диаграмма состояния для программы HORSE, рассмот- ренной ранее в этой главе. На ней отражены различные состояния объекта клас- са horse, которые он может принимать во время работы программы.

Рис. 10.21. Диаграмма состояний объекта класса horse
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
