第 03 周作业
发布于: 2020 年 06 月 24 日
1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。
2. 请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
public class MainClient { public static void main(String[] args) { WinForm window = new WinForm("WINDOW窗口"); BaseComponent p = new Picture("LOGO图片"); BaseComponent b1 = new Button("登录"); BaseComponent b2 = new Button("注册"); window.addComponent(p); window.addComponent(b1); window.addComponent(b2); BaseComponent frame = new Frame("FRAME1"); window.addComponent(frame); frame.addComponent(new Label("用户名")); frame.addComponent(new TextBox("文本框")); frame.addComponent(new Label("密码")); frame.addComponent(new PasswordBox("密码框")); frame.addComponent(new CheckBox("复选框")); frame.addComponent(new Label("记住用户名")); frame.addComponent(new LinkLabel("忘记密码")); window.print();//打印 }}interface BaseComponent{ }public class Components implements BaseComponent{ public String name; private List<BaseComponent> wList; Components(String name){ this.name = name wList = new ArrayList<BaseComponent>(); } addComponent(BaseComponent w){ print(); } print(){ for (BaseComponent w : wList) { System.out.println("print " + w.getClass().getSimpleName() + "(" + name + ")"); } }}public class Widget implements BaseComponent { public String name; Widget(String name){ this.name = name } }public class WinForm extends Components{ WinForm(String name){ super(name) }}public class Frame extends Components{ Frame(String name){ super(name) }}public class Picture extends Widget{};public class Button extends Widget{};public class Label extends Widget{};public class TextBox extends Widget{};
划线
评论
复制
发布于: 2020 年 06 月 24 日 阅读数: 24
Jeremy
关注
还未添加个人签名 2018.01.21 加入
还未添加个人简介
评论