|
|
51CTO旗下网站
|
|
移动端

试题六(共15 分)

《软件设计师历年真题解析》本书针对软件设计师2014—2017年共8次真题进行了试题的分析和解答,帮助考生熟悉试题形式,了解重点、掌握解答问题的方法和技巧等。本节为试题六(共15 分)。

作者:薛大龙来源:电子工业出版社|2018-08-21 18:47

试题六(共15 分)

阅读下列说明和Java 代码,将应填入上一处的字句写在答题纸的对应栏内。

【说明】

某图像预览程序要求能够查看BMP、JPEG 和GIF 三种格式的文件,且能够在Windows和Linux 两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接模式进行设计,得到如图6-1 所示的类图。

【Jave 代码】

  1. Import java.util.*;  
  2. class Matrix{ //各种格式的文件最终都被转化为像素矩阵  
  3. //此处代码省略  
  4. };  
  5. abstract class Implementor{  
  6. Public( );//显示像素矩阵 m  
  7. };  
  8. class WinImp extends Implementor{  
  9. public void doPaint(Matrix m){ //调用Windows 系统的绘制函数绘制像素矩阵  
  10. }  
  11. };  
  12. class LinuxImp extends Implementor{  
  13. public void doPaint(Matrix m){//调用Linux 系统的绘制函数绘制像素矩阵  
  14. }  
  15. };  
  16. abstract class Image{  
  17. public void setImp(Implementor imp){ this.imp= imp; }  
  18. public abstract void parseFile(String fileName);  
  19. protected Implementor imp;  
  20. };  
  21. class BMPImage extends Image{  
  22. //此处代码省略  
  23. };  
  24. class GIFImage extends Image{  
  25. public void parseFile(String fileName) {  
  26. //此处解析 BMP 文件并获得一个像素矩阵对象 m  
  27. ( );//显示像素矩阵 m  
  28. }  
  29. };  
  30. Class Main{  
  31. Public static viod main(String[]args){  
  32. //在 Linux 操作系统上查看 demo.gif 图像文件  
  33. Image image=( )  
  34. Implementor imageImp=( )  
  35. ( )  
  36. Image.parseFile(〝demo.gif〝);  
  37. }  
  38. } 

【参考答案】

1. abstract void doPaint(Matrix m)

2. imp.doPaint(m)

3. new GIFImage()

4. new LinuxImp()

5. image.setImp(imageImp)


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Linux编程技术详解

本书全面介绍了Linux编程相关的知识,内容涵盖Linux基本知识、如何建立Linux开发环境、Linux开发工具、Linux文件系统、文件I/O操作、设备文...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊