写点什么

第三周课后练习

用户头像
刘洋
关注
发布于: 2020 年 11 月 08 日

一:手写单例

问题描述:请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。

二:用组合模式编写程序

问题描述:请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。



程序如下:

public class Window {
private Picture picture = new Picture();
private Button button = new Button();
private Frame frame = new Frame();
public void print(String name) {
System.out.println("print WinForm(" + name + ")");
picture.print("logo");
frame.print("frame1");
button.print("登录");
button.print("注册");
}
public static void main(String[] args) {
Window window = new Window();
window.print("WINDOW");
}
}
class Picture {
public Picture(){}
public void print(String name) {
System.out.println("print Picture(" + name + ")");
}
}
class Button {
public Button(){}
public void print(String buttonName) {
System.out.println("print Button(" + buttonName + ")");
}
}
class Frame {
public Frame(){}
private Lable lable = new Lable();
private LinkLable linkLable = new LinkLable();
private CheckBox checkBox = new CheckBox();
private TextBox textBox = new TextBox();
private PasswordBox passwordBox = new PasswordBox();
public void print(String name) {
System.out.println("print Frame(" + name + ")");
lable.print("用户名");
textBox.print("文本框");
lable.print("密码");
passwordBox.print("密码框");
checkBox.print("复选框");
lable.print("记住用户名");
linkLable.print("忘记密码");
}
}
class Lable {
public Lable(){}
public void print(String name) {
System.out.println("print Lable(" + name + ")");
}
}
class LinkLable {
public LinkLable(){}
public void print(String name) {
System.out.println("print LinkLable(" + name + ")");
}
}
class CheckBox {
public CheckBox(){}
public void print(String name) {
System.out.println("print CheckBox(" + name + ")");
}
}
class TextBox {
public TextBox(){}
public void print(String name) {
System.out.println("print TextBox(" + name + ")");
}
}
class PasswordBox {
public PasswordBox(){}
public void print(String name) {
System.out.println("print PasswordBox(" + name + ")");
}
}



用户头像

刘洋

关注

还未添加个人签名 2018.10.29 加入

还未添加个人简介

评论

发布
暂无评论
第三周课后练习