南华大学软件设计模式实验.doc

南华大学软件设计模式实验.doc

ID:51822597

大小:526.00 KB

页数:41页

时间:2020-03-16

南华大学软件设计模式实验.doc_第1页
南华大学软件设计模式实验.doc_第2页
南华大学软件设计模式实验.doc_第3页
南华大学软件设计模式实验.doc_第4页
南华大学软件设计模式实验.doc_第5页
资源描述:

《南华大学软件设计模式实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南华大学计算机科学与技术学院软件体系结构与设计模式作业(2016秋季学期)学号:20144350101班级:软件工程1班姓名:刘让洲任课老师:蒋良卫作业内容:创建型设计模式日期:2016年11月6日1简单工厂模式1.1作业题目使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W。则返回一个对象Woman,用java语言实现该场景。现在需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。(1)绘制简单工厂模

2、式结构视图;(2)请绘制该实例类图,并代码实现。1.2所用模式结构视图1.3实例类图1.4实例实现代码公共类:lrz0101Personpackagecom.bluesky;publicclasslrz0101Person{publicvoidplay(){System.out.println("我还是一坨泥巴,女娲还没有构造我!");}}简单工厂类:lrz0101NvWapackagecom.bluesky;publicclasslrz0101NvWa{publiclrz0101PersonmadeMan(St

3、rings){lrz0101Personperson=null;switch(s){case"M":person=newlrz0101Man();break;case"W":person=newlrz0101Woman();break;case"R":person=newlrz0101Robot();break;default:System.out.println("Sorry,女娲暂时没有造这种人的能力");person=newlrz0101Person();}returnperson;}}子类1:lrz010

4、1Manpackagecom.bluesky;publicclasslrz0101Manextendslrz0101Person{publicvoidplay(){System.out.println("大家好,我是男人!我来自地球!");}}子类2:lrz0101Womanpackagecom.bluesky;publicclasslrz0101Womanextendslrz0101Person{publicvoidplay(){System.out.println("大家好,我是女人!我来自水星!");}}子

5、类2:lrz0101Robotpackagecom.bluesky;publicclasslrz0101Robotextendslrz0101Person{publicvoidplay(){System.out.println("大家好,我是机器人!我来未知星球!");}}1.5运行结果2工厂模式2.1作业题目现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器ImgReader,如gif图片读取器GifReader用于读取gif格式的图片,jpg图片读取器JPGReader用于

6、读取jpg格式的图片。图片读取器对象通过图片读取器工厂ImgReaderFactory来创建。ImgReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其GifReaderFactory和JPGReaderFactory用于创建具体的图片读取器对象。使用工厂方法模式,实现该程序的设计。(1)绘制工厂模式结构视图(2)给出实例类图并实现代码。2.2所用模式结构视图2.3实例类图2.4实例实现代码图片读取工厂类:lrz0101ImageReaderFactorypackagecom.bluesk

7、y1;publicclasslrz0101ImageReaderFactory{publiclrz0101ImageReaderFactoryproductReaderFactory(Strings){lrz0101ImageReaderFactoryreader=null;if(s.equals("JPG")){reader=newlrz0101JpgReaderFactory();}elseif(s.equals("GIF")){reader=newlrz0101GifReaderFactory();}els

8、e{reader=newlrz0101ImageReaderFactory();}returnreader;}}Jpg图片读取工厂类:lrz0101JpgReaderFactorypackagecom.bluesky1;publicclasslrz0101JpgReaderFactoryextendslrz0101ImageReaderFactory{publiclrz0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。