第三周作业
发布于: 2020 年 06 月 24 日
1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。
请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
package testsimport ( "container/list" "fmt" "testing")type Component interface { do()}type LeafElement struct { name string}func (leafElement LeafElement) do() { fmt.Println("print " + leafElement.name)}type ContainerElement struct { *list.List name string}func (containerElement ContainerElement) do() { fmt.Println("print " + containerElement.name) for e := containerElement.Front(); e != nil; e = e.Next() { e.Value.(Component).do() }}func (containerElement ContainerElement) addComponent(component Component) { containerElement.PushBack(component)}func TestPrintComponent(t *testing.T) { window := ContainerElement{ List: list.New(), name: "WinForm(WINDOW窗口)"} logo := LeafElement{name: "Picture(LOGO图片)"} window.addComponent(logo) loginButton := LeafElement{name: "Button(登录)"} registerButton := LeafElement{name: "Button(注册)"} window.addComponent(loginButton) window.addComponent(registerButton) frame := ContainerElement{ List: list.New(), name: "Frame(FRAME1)", } userNameLable := LeafElement{name: "Lable(用户名)"} userNameText := LeafElement{name: "TextBox(文本框)"} passwordLable := LeafElement{name: "Lable(密码)"} passwordText := LeafElement{name: "PasswordBox(密码框)"} checkbox := LeafElement{name: "CheckBox(复选框)"} rememberUserNameLable := LeafElement{name: "TextBox(记住用户名)"} forgetPasswordLink := LeafElement{name: "LinkLable(忘记密码)"} frame.addComponent(userNameLable) frame.addComponent(userNameText) frame.addComponent(passwordLable) frame.addComponent(passwordText) frame.addComponent(checkbox) frame.addComponent(rememberUserNameLable) frame.addComponent(forgetPasswordLink) window.addComponent(frame) window.do()}
//输出print WinForm(WINDOW窗口)print Picture(LOGO图片)print Button(登录)print Button(注册)print Frame(FRAME1)print Lable(用户名)print TextBox(文本框)print Lable(密码)print PasswordBox(密码框)print CheckBox(复选框)print TextBox(记住用户名)print LinkLable(忘记密码)
划线
评论
复制
发布于: 2020 年 06 月 24 日 阅读数: 29
倪惠华
关注
还未添加个人签名 2018.05.08 加入
还未添加个人简介
评论