欢迎来到天天文库
浏览记录
ID:58568376
大小:106.50 KB
页数:3页
时间:2020-10-19
《设计模式上级实验5-组合模式实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、青岛理工大学课程实验报告课程名称软件设计与体系结构班级软件132实验日期2016.05.20姓名孙玉东学号实验成绩实验名称组合模式实验实验目的及要求(1)熟悉组合模式的核心思想;(2)掌握组合模式的实现方法。实验环境Win7,VS2010实验内容1.模拟实现Android的视图树结构将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构;组合模式使得用户对单个对象View和组合对象ViewGroup的使用具有一致性。2.参考类图如下:算法描述及实验步骤1.创建View类,定义公共方法2.创建Button类继承view类并实现方法3.创建ViewGroup类继承vi
2、ew类,实现方法。且列中保存View集合4.创建Liner'Layout类继承ViewGroup5.创建测试类调试过程及实验结果总结1.加深了对组合模式的理解。了解了组合模式的使用场景。组合模式适用于树形结构。2.安全的组合模式,抽象类只包含共有的方法。ViewGroup特有的方法需要自己实现。这样避免了子类实现过多不必要的方法。增加了安全性。附录1.View类publicabstractclassView{publicabstractvoidoperation();publicabstractvoidonDraw();}2.button类publicclassButtonextends
3、View{@Overridepublicvoidoperation(){System.out.println("-----Button-->operation");}@OverridepublicvoidonDraw(){//TODOAuto-generatedmethodstubSystem.out.println("-----Button-->onDraw");}}3.textview类publicclassTextViewextendsView{@Overridepublicvoidoperation(){System.out.println("-----TextView-->op
4、eration");}@OverridepublicvoidonDraw(){System.out.println("-----TextView-->onDraw");}}4.ViewGroup类publicclassViewGroupextendsView{publicArrayListviewList=newArrayList();publicvoidoperation(){System.out.println("ViewGroup-->operation");}publicvoidaddView(Viewview){viewList.add(view);}p
5、ublicvoidremove(Viewview){viewList.remove(view);}publicViewgetChildAt(intposition){returnviewList.get(position);}publicvoidonDraw(){System.out.println("ViewGroup-->onDraw");}}4.LinerLayout类publicclassLinerLayoutextendsViewGroup{publicvoidoperation(){System.out.println("*****LinerLayout-->operatio
6、n");for(Viewview:viewList){view.operation();}}publicvoidonDraw(){System.out.println("*****LinerLayout-->onDraw");for(Viewview:viewList){view.onDraw();}}}5.FrameLayout类publicclassFrameLayoutextendsViewGroup{publicvoidoperation(){System.out.println("*****FrameLayout-->operation");for(Viewview:viewL
7、ist){view.operation();}}publicvoidonDraw(){System.out.println("*****FrameLayout-->onDraw");for(Viewview:viewList){view.onDraw();}}}
此文档下载收益归作者所有