说明
层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,其类图如下图所示。
Java代码
import java.util.*; //把util这个包下的全部类导入到程序中
//*表示的是通配符,包括util的所有类
abstract class MenuComponent {
//定义抽象类MenuComponent,构成层叠菜单的元素
protected String name; //定义菜单项或子菜单名称特征变量name
public void printName() {
System.out.println(name);
}
public abstract boolean addMenuElement(MenuComponent element); //定义抽象方法addMenuElement
public abstract boolean removeMenuElement(MenuComponent element); //定义抽象方法removeMenuElement
public abstract List<MenuComponent> getElement(); //定义抽象方法getElement