第 03 周作业

用户头像
Jeremy
关注
发布于: 2020 年 06 月 24 日
第 03 周作业



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{};



用户头像

Jeremy

关注

还未添加个人签名 2018.01.21 加入

还未添加个人简介

评论

发布
暂无评论
第 03 周作业