首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增
阅读下列说明和Java代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。 现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增
admin
2013-01-05
71
问题
阅读下列说明和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) ; //打印饭店所有菜单的信息
}
}
(3)
选项
答案
add(menuComponent)
解析
转载请注明原文地址:https://www.kaotiyun.com/show/peDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
某软件系统无需在线容错,也不能采用冗余设计,如果对可靠性要求较高,故障有可能导致严重后果,一般采用()。
以下关于结构化开发方法的叙述中,不正确的是()。
系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,其(4)。
关于软件测试过程中的配置管理,______是不正确的表述。A.测试活动的配置管理属于整个软件项目配置管理的一部分B.软件测试配置管理包括4个基本的活动:配置项变更控制、配置状态报告、配置审计、配置管理委员会建立C.配置项变更控制要规定测试基线,对每个
()主要对与设计相关的软件体系结构的构造进行测试。
能够主动采集信息,分析网络攻击行为和误操作的实时保护策略是指(64)。
以下关于边界值分析法的叙述中,不正确的是
以下______不属于单元测试中模块接口测试的测试内容。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
随机试题
WewereyoungmenAwhenweBfirstmetinlondon,poor,Cstruggle,Dfullofhopeandideas.
A,大动脉B.中动脉C.小动脉D.大静脉E.中静脉弹性动脉
关于显影液保护剂的作用,错误的是
心脏听诊内容主要包括()。
蛋白尿是指24h尿蛋白超过
结构的可靠度是指()。
思维和存在的关系问题之所以是哲学的基本问题,是因为()。
下列关于细胞生命历程的叙述,错误的是:
马克思称()是世界上“第一个人权宣言”。
20世纪80年代被认为是一个被自私的个人主义破坏了社会凝聚力的时代。但是,这一时代特征在任何时代都有。在整个人类历史发展过程中,所有人类行为的动机都是自私的,从人类行为更深层次看,即使是最无私的行为,也是对人类自身自私的关心。以下哪项最能揭示上述论证中所存
最新回复
(
0
)