第三周课后练习
发布于: 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 + ")"); }}
划线
评论
复制
发布于: 2020 年 11 月 08 日阅读数: 23
刘洋
关注
还未添加个人签名 2018.10.29 加入
还未添加个人简介
评论