问答题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 说明:某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图10.41所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中添加新的餐饮形式,得到如图10.42所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图10.41中的甜点菜单。类Menultem表示菜单中的菜式。
c++代码如下:
(1)virtualvoidadd(MenuComponent*menuComponent)=0(2)Men......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
问答题 问题1:根据说明中的描述,给出图10.39中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。 问题2:根据说明中的描述,给出图10.40中缺少的C1~C8所对应的类名以及(3)~(6)处所对应的多重度。 问题3:图10.40中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。
问答题 Java代码如下:
问答题 C++代码如下: