week3 作业
发布于: 2020 年 06 月 21 日
1.单例模式

2.组合模式
Tree接口:顶层抽象,只定义show()方法。
public interface Tree {    void show();}
TreeNode类:treeList变量存储子节点,显示的时候,如果是Node,则继续遍历子节点。
public class TreeNode implements Tree {    private List<Tree> treeList = new ArrayList<>();    private String name;    public TreeNode(String name) {        this.name = name;    }    public void addLeaf(Tree tree) {        treeList.add(tree);    }    @Override    public void show() {        System.out.println("print " + name);        for (Tree tree : treeList) {            tree.show();        }    }}
TreeLeaf类:叶子节点,输出名称。
public class TreeLeaf implements Tree {    private String name;    public TreeLeaf(String name) {        this.name = name;    }    @Override    public void show() {        System.out.println("print " + name);    }}
Tester类:
public class TreeTester {    public static void main(String[] args) {        TreeNode winForm = new TreeNode("WinForm(WINDOW窗口)");        TreeLeaf logo = new TreeLeaf("Picture(LOGO图片)");        winForm.addLeaf(logo);        TreeLeaf login = new TreeLeaf("BUTTON(登录)");        winForm.addLeaf(login);        TreeLeaf register = new TreeLeaf("BUTTON(注册)");        winForm.addLeaf(register);        TreeNode frame = new TreeNode("Frame(FRAME1)");        TreeLeaf LabelUsername = new TreeLeaf("LABEL(用户名)");        frame.addLeaf(LabelUsername);        TreeLeaf textBoxUsername = new TreeLeaf("TextBox(文本框)");        frame.addLeaf(textBoxUsername);        TreeLeaf LabelPwd = new TreeLeaf("Label(密码)");        frame.addLeaf(LabelPwd);        TreeLeaf pwdBox = new TreeLeaf("PasswordBox(密码框)");        frame.addLeaf(pwdBox);        TreeLeaf checkBox = new TreeLeaf("CheckBox(复选框)");        frame.addLeaf(checkBox);        TreeLeaf textBoxRememberUsername = new TreeLeaf("TextBox(记住用户名)");        frame.addLeaf(textBoxRememberUsername);        TreeLeaf linkLabel = new TreeLeaf("LinkLabel(忘记密码)");        frame.addLeaf(linkLabel);        winForm.addLeaf(frame);        winForm.show();    }}
输出:
print WinForm(WINDOW窗口)print Picture(LOGO图片)print BUTTON(登录)print BUTTON(注册)print Frame(FRAME1)print LABEL(用户名)print TextBox(文本框)print Label(密码)print PasswordBox(密码框)print CheckBox(复选框)print TextBox(记住用户名)print LinkLabel(忘记密码)
划线
评论
复制
发布于: 2020 年 06 月 21 日阅读数: 48
雪涛公子
关注
还未添加个人签名 2017.11.20 加入
还未添加个人简介











    
评论