ВУЗ:
Составители:
Рубрика:
35
Связи между объектами показаны на рис. 2.5 с помощью соедини-
тельных линий. Связи представляют возможные пути для передачи сооб-
щений. Сами сообщения показаны стрелками, отмечающими их направ-
ления, и помечены именами вызываемых операций.
Как участник связи, объект может играть одну из трёх ролей:
актёр – объект, который может воздействовать на другие объек-
ты, но никогда не подвержен воздействию других объектов;
сервер – объект, который никогда не воздействует на другие объ-
екты, он только используется другими объектами;
агент – объект, который может как воздействовать на другие объ-
екты, так и использоваться ими. Агент создаётся для выполнения работы
от имени актёра или другого агента.
На рисунке 2.5, Том – это актёр, Мери, Колонки – серверы, Музы-
кальный центр – агент.
Приведём пример. Допустим, что нужно обеспечить следующий
график разворота первой ступени ракеты по углу тангажа, представлен-
ный на рис. 2.6.
Запишем абстракцию графика разворота:
with Класс «ДатчикУглаТангажа»;
use Класс «ДатчикУглаТангажа»;
Package Класс «ГрафикРазворота» is
subtype Секунда is Natural range ...;
type ГрафикРазворота is tagged private;
procedure «Очистить» (in out ГрафикРазворота);
procedure «Связать» (in out ГрафикРазворота;
teta: Угол: si: Секунда: s2: Секунда);
function «УголНаМомент» (ГрафикРазворота;
s: Секунда) return Угол;
private
…
end Класс «ГрафикРазворота».
Рис. 2.6. График разворота первой ступени ракеты
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »