首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增
阅读下列说明和Java代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增
admin
2013-01-05
81
问题
阅读下列说明和Java代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。
现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如图6-2所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图6-1中的甜点菜单。类MenuItem表示菜单中的菜式。
[Java代码]
import Java.util.*;
(1) MenuComponent{
protected String name;
(2) ;//添加新菜单
public abstract void print(); //打印菜单信息
public String getName(){return name;}
}
class MenuItem extends MenuComponent{
private double price;
public Menultem(String name, double price){
this.name=name; this.price=price;
}
public double getPrice() {return price;}
public void add(MenuComponent menuComponent){return;}//添加新菜单
public void print(){
System.out.print(""+getName());
System.out.println(","+getPrice());
}
}
class Menu extends MenuComponent {
private List<MenuComponent>menuComponents=new ArrayList<MenuComponent>();
public Menu(String name){this.name=name;}
public void add(MenuComponent menuComponent){ //添加新菜单
menuComponents. (3) ;
}
publiC void print(){
System.out.print(“\n"+getName());
System.out.println(","+"-------------------------");
Iterator iterator=menuComponents.iterator();
while(iterator.hasNext()){
MenuComponent menuC0mponent=(MenuComponent)iterator.next();
(4) ;
}
}
Class MenuTestDrive{
public static void main(String args[]){
MenuComponent allMenus=new Menu("ALL MENUS");
MenuComponent dinerMenu=new Menu("DINER MENU");
…//创建更多的Menu对象,此处代码省略
allMenus. add(dinerMenu); //将dinerMenu添加到餐厅菜单中
…//为餐厅增加更多的菜单,此处代码省略
(5) ; //打印饭店所有菜单的信息
}
}
(2)
选项
答案
public abstract void add(MenuComponent menuComponent) 或abstract void add(MenuComponent menuComponent) 或protected abstract void add(MenuComponent menuComponent)
解析
转载请注明原文地址:https://kaotiyun.com/show/deDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
计算机系统中,虚拟存储体系由______两级存储器构成。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
关于软件测试与质量保证,正确的理解是______。A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物B.软件测试不是软件质量保证工作中的内容C.软件测试是软件质量保证的重要手段D.软件质量保证人员就是软件测试人员
以下关于边界值分析法的叙述中,不正确的是
给出关系R(A,B,C)和S(A,B,C),R和S的函数依赖集F={A→B,B→C}。若R和S进行自然连接运算,则结果集有3个属性。关系R和S________。
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
阅读以下说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】假设需要将N个任务分配给N个工人同时去完成,每个人都能承担这N个任务,但费用不同。下面的程序用回溯法计算总费用最小的一种工作分配方案,在该方案中,为每个人分配1个不同的任
对文法G进行改写,然后对每个非终结符写出不带回溯的递归于程序。说明输入串(a,a)#是否为G的句子。
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。[说明]借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历过程如下:若不是空树,根节点入栈,进入左子树;若已
随机试题
钻井液堵塞是由于钻井或井下作业时钻井液浸入油层孔隙内,堵塞出油孔道,造成油层产液或吸水能力()。
A.苯甲异噁唑青霉素B.地西泮,维生素KC.暖箱,地塞米松D.蓝光照射,尼可刹米E.换血疗法22天,男,不规则发热10天,皮肤轻度黄染,并见少数小脓疱,肝脾肿大,白细胞18×109/L,中性86%,血清胆红素85.5μmol/L(5mg/dl)
A.孔雀石绿B.己烯雌酚C.氯霉素D.克伦特罗E.呋喃唑酮一养猪户,为增加瘦肉率,减少脂肪沉积,在饲料中非法添加某种禁用药物,造成猪肉中大量残留该药物,可引起食用者出现头痛、头晕、心悸、心律失常、呼吸困难、肌肉震颤和疼痛等中毒症状。猪肉中最可能
[问题一]C工作的延误。在开工前监理已知晓,试问监理应采取什么措施?为什么?有何风险?[问题三]若增加的工作M是与E工作完全相同的工作,工作E的工程量为1200m3,单价为250元/m3,工作M的工程量为400m3。合同规定,增加工程超过20%时
证券公司从事客户资产管理业务应符合的条件之一为:客户资产管理业务人员具有证券从业资格,无不良行为记录,其中具有3年以上证券自营、资产管理或者证券投资基金管理从业经历的人员不少于()人。
公募基金会可以分为()两类。
胆小畏缩,消极防御反应强。这是哪种气质类型的行为表现()
南北对话
在近代中国社会,尤其是新民主主义社会中,有关农民的说法中正确的有( )
为了声明一个长度为128个字符的定长字符串变量StrD,以下语句中正确的是
最新回复
(
0
)