第一范文网 - 专业文章范例文档资料分享平台

面向对象系统分析和设计综合实验报告3

来源:用户分享 时间:2025/6/7 1:06:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

西南科技大学计算机学院 《面向对象系统分析和设计》实验报告 绘制类图并编程模拟实现。

1) 类图

2) 实现代码:

public interface Shape { public void draw(); public void erase(); }

public class Circle implements Shape { public void draw(){

System.out.println(\); }

public void erase(){

System.out.println(\); }

}

public class Rectangle implements Shape { public void draw(){

System.out.println(\); }

public void erase(){

System.out.println(\); }

}

public class Triangle implements Shape {

5

西南科技大学计算机学院 《面向对象系统分析和设计》实验报告 public void draw(){

System.out.println(\); }

public void erase(){

System.out.println(\); }

}

public class ShapeFactory {

public static Shape produceShape(String shape) throws UnsupportedShapeException {

if (shape.equals(\)) { System.out.println(\); return new Circle(); }

else if (shape.equals(\)) { System.out.println(\); return new Triangle(); }

else if (shape.equals(\)) { System.out.println(\); return new Rectangle(); }

else {

throw new UnsupportedShapeException(); } }

}

public class UnsupportedShapeException extends Exception{ public UnsupportedShapeException () {

System.out.println(\绘制图形异常,请确认输入图形。\); }

}

public class Client {

public static void main(String[] args) {

ShapeFactory shapeFactory=new ShapeFactory(); try {

shapeFactory.produceShape(\).draw(); shapeFactory.produceShape(\).erase(); } catch (UnsupportedShapeException e) { e.printStackTrace(); } }

}

6

西南科技大学计算机学院 《面向对象系统分析和设计》实验报告

3) 实现结果:

4. 现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG图片读取器(JpgReader)用于读取JPG格式的图片。图片读取器对象通过图片读取器工厂ImageReaderFactory来创建,ImageReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其子类GifReaderFactory和JpgReaderFactory用于创建具体的图片读取器对象。试使用工厂方法模式设计该程序,绘制类图并编程模拟实现。需充分考虑系统的灵活性和可扩展性。

1) 类图

2) 实现代码:

public class Client {

public static void main(String[] args) {

JpgReaderFactory jFactory = new JpgReaderFactory(); jFactory.produceImageReader().readimage();

GifReaderFactory gFactory = new GifReaderFactory(); gFactory.produceImageReader().readimage(); }

}

public interface ImageReader {

7

西南科技大学计算机学院 《面向对象系统分析和设计》实验报告 public void readimage();

}

public class GifReader implements ImageReader { public void readimage(){

System.out.println(\); }

}

public class JpgReader implements ImageReader { public void readimage(){

System.out.println(\);

System.out.println(\); }

}

public abstract class ImageReaderFactory {

public abstract ImageReader produceImageReader(); }

public class GifReaderFactory extends ImageReaderFactory { public ImageReader produceImageReader(){ System.out.println(\); return new GifReader(); }

}

public class JpgReaderFactory extends ImageReaderFactory { public ImageReader produceImageReader(){ return new JpgReader(); }

}

3) 实现结果:

5. 有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,绘制类图并编程模拟实现。

1) 类图

8

面向对象系统分析和设计综合实验报告3.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7ut498d6ng0daes3y3831emx02sb8q00vm2_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top