题目:某软件公司基于面向对象技术开发了一套图形界面显示构件库VisualComponent。在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条的窗体或透明窗体等。现使用装饰模式设计该构件库,绘制类图并编程模拟实现。
类图
Client
package 装饰模式;
//抽象界面构件类:抽象构件类,为了突出与模式相关的核心代码,对原有控件代码进行了大量的简化
abstract class Component
{
public abstract void display();
}
//窗体类:具体构件类
class Window extends Component
{
public void display()
{
System.out.println("显示窗体!");
}
}
//文本框类:具体构件类
class TextBox extends Component
{
public void display()
{
System.out.println("显示文本框!");
}
}
//列表框类:具体构件类
class ListBox extends Component
{
public void display()
{
System.out.println("显示列表框!");
}
}
//构件装饰类:抽象装饰类
class ComponentDecor