第三周 - 课后练习
请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。
请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
代码UML图:
Component接口是一个顶层的接口,定义了打印的方法。
有一个AbstractComponent抽象类,它实现了Component接口,维护了每个组建的名称。
Button、Lable、PasswordBox、TextBox、Picture、LinkedLabel、CheckBox等组件继承至AbstractComponent,然后每个组件编写自己的print方法。
Container组件也继承至AbstractComponent组件,但它会有其它的子组件,所以要维护一个子组件的列表,打印的时候,要先打印自己,然后再去遍历子组件掉他们打印方法。
WinForm等拥有子组件的组件继承至Container,然后实现自己的doPrint方法。
测试类:
执行结果:
评论 (1 条评论)