反馈
问题:
<p>试题六(共15分)</p>
选项 :
<p>阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。</p><p>【说明】</p><p>层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,得到如图6-2所示的类图</p><p>【Java代码】</p><p>import java.util. *;</p><p><br></p><p>abstract class MenuComponent{ //构成层叠菜单的元素</p><p><span style='color:red;'>( )</span> String name; //菜单项或子菜单名称</p><p><br></p><p>public void printName<span style='color:red;'><span style='color:red;'>( )</span></span> { System.out.println(name);}</p><p>Public <span style='color:red;'>( )</span></p><p>public abstract boolean removeMenuElement (MenuComponent element) ;</p><p>Public <span style='color:red;'>( )</span></p><p>}</p><p>class Menultem extends MenuComponent</p><p>public Menultem (String name) { this.name=name;)</p><p>public boolean addMenuElement (MenuComponent element) { return false;}</p><p>public boolean removeMenuElement (MenuComponent element) { retum false;}</p><p>public List <MenuComponentgetElement<span style='color:red;'><span style='color:red;'>( )</span></span> { return null; }</p><p>}</p><p>class Mcnu extends MenuComponent {</p><p>Private <span style='color:red;'>( )</span></p><p>public Menu (String name) {</p><p>thi.name-name;</p><p>this.elementList-new ArmayList <MenuComponent O.</p><p>}</p><p>public boolean addMenuElement (MenuComponent element) {</p><p>retum elementList.add (element) ;</p><p>}</p><p>public boolean removeMenuElement (MenuComponent element) (</p><p>retum elementL.ist.remove (element) ;</p><p>}</p><p>public List <MenuComponent> getElementO {return elementList; )</p><p>}</p><p><br></p><p>class Composite Test{</p><p>public static void main (String [] args) {</p><p>MenuComponent mainMenu=new Menu ("Insert") ;</p><p>MenuComponent subMenu = new Menu ("Chart") ;</p><p>MenuComponent element=new Menultem ("On This Sheet") ;</p><p><span style='color:red;'>( )</span></p><p>subMenu.addMenuElement (element) ;</p><p>printMenus (mainMenu) ,</p><p>}</p><p>private static void printMenus (MenuComponent ifile) {</p><p> ifile.printName (;</p><p>List <MenuComponent> children=ifile.getElement0;</p><p>if (children=null) returm;</p><p>for (MenuComponent element:children) {</p><p>printMenus (element) ;</p><p>}</p><p>}</p>
答案:
解析:
<pre>(1)protected (2)abstract boolean addMenuElement(Memucomponent element); (3)abstract List<MenuComponent> getElement(); (4)Arraylist<MenuComponent> elementList; (5) mainMenu.addMenuElement(subMenu);</pre>