试题六(共15分)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,得到如图6-2所示的类图
【Java代码】
import java.util. *;
abstract class MenuComponent{ //构成层叠菜单的元素
( ) String name; //菜单项或子菜单名称
public void printName( ) { System.out.println(name);}
Public ( )
public abstract boolean removeMenuElement (MenuComponent element) ;
Public ( )
}
class Menultem extends MenuComponent
public Menultem (String name) { this.name=name;)
public boolean addMenuElement (MenuComponent element) { return false;}
public boolean removeMenuElement (MenuComponent element) { retum false;}
public List <MenuComponentgetElement( ) { return null; }
}
class Mcnu extends MenuComponent {
Private ( )
public Menu (String name) {
thi.name-name;
this.elementList-new ArmayList <MenuComponent O.
}
public boolean addMenuElement (MenuComponent element) {
retum elementList.add (element) ;
}
public boolean removeMenuElement (MenuComponent element) (
retum elementL.ist.remove (element) ;
}
public List <MenuComponent> getElementO {return elementList; )
}
class Composite Test{
public static void main (String [] args) {
MenuComponent mainMenu=new Menu ("Insert") ;
MenuComponent subMenu = new Menu ("Chart") ;
MenuComponent element=new Menultem ("On This Sheet") ;
( )
subMenu.addMenuElement (element) ;
printMenus (mainMenu) ,
}
private static void printMenus (MenuComponent ifile) {
ifile.printName (;
List <MenuComponent> children=ifile.getElement0;
if (children=null) returm;
for (MenuComponent element:children) {
printMenus (element) ;
}
}
请先在App中激活(应用市场搜“软考真题”)
2022-05-26
请先在App中激活(应用市场搜“软考真题”)
2021-10-29
请先在App中激活(应用市场搜“软考真题”)
2021-10-30
请先在App中激活(应用市场搜“软考真题”)
2021-11-04
请先在App中激活(应用市场搜“软考真题”)
2022-10-29
请先在App中激活(应用市场搜“软考真题”)
2022-11-01
请先在App中激活(应用市场搜“软考真题”)
2021-10-22
请先在App中激活(应用市场搜“软考真题”)
2022-10-28
请先在App中激活(应用市场搜“软考真题”)
2022-11-01
请先在App中激活(应用市场搜“软考真题”)
2023-05-17
请先在App中激活(应用市场搜“软考真题”)
2023-05-17