命题作业—第三周
发布于: 2020 年 06 月 23 日
作业一:
手写一个 Singleton 然后拍照提交。这是用类似 TS 的语法编写的
作业二:
使用组合设计模式编写程序,输出一个树状结构,并且在执行的时候会打印出来对应的组件名。使用 JS 实现,可以直接运行。
class Button { constructor(name) { this.name = name; } print() { console.log(`print Button(${this.name})`); }}class Picture { constructor(name) { this.name = name; } print() { console.log(`print Picture(${this.name})`); }}class Frame { constructor(name) { this.name = name; this.children = []; } add(child) { this.children.push(child); } print() { console.log(`print Frame(${this.name})`); this.children.forEach(child => { child.print(); }); }}class Label { constructor(name) { this.name = name; } print() { console.log(`print Label(${this.name})`); }}class TextBox { constructor(name) { this.name = name; } print() { console.log(`print TextBox(${this.name})`); }}class PasswordBox { constructor(name) { this.name = name; } print() { console.log(`print PasswordBox(${this.name})`); }}class CheckBox { constructor(name) { this.name = name; } print() { console.log(`print CheckBox(${this.name})`); }}class LinkLabel { constructor(name) { this.name = name; } print() { console.log(`print LinkLabel(${this.name})`); }}class WinForm { constructor(name) { this.name = name; this.children = []; } add(child) { this.children.push(child); } print() { console.log(`print WinForm(${this.name})`); this.children.forEach(child => { child.print(); }); }}class Client { constructor() { this.winForm = new WinForm('WINDOW 窗口'); this.winForm.add(new Picture('LOGO 图片')); this.winForm.add(new Button('登陆')); this.winForm.add(new Button('注册')); const frame = new Frame('FRAME1'); frame.add(new Label('用户名')); frame.add(new TextBox('文本框')); frame.add(new Label('密码')); frame.add(new PasswordBox('密码框')); frame.add(new CheckBox('复选框')); frame.add(new TextBox('记住用户名')); frame.add(new LinkLabel('忘记密码')); this.winForm.add(frame); } print() { this.winForm.print(); }}const client = new Client();client.print();
划线
评论
复制
发布于: 2020 年 06 月 23 日阅读数: 52
版权声明: 本文为 InfoQ 作者【于江水】的原创文章。
原文链接:【http://xie.infoq.cn/article/86b0ae41404e14e64d5b93b07】。未经作者许可,禁止转载。
于江水
关注
还未添加个人签名 2018.07.08 加入
还未添加个人简介
评论