软考中级软件设计师自我总结知识分享--JAVA类真题总结(二)

简介: 该系列文章全篇文字在10w+,全文都是自己备考中的干货,软考涉及很多计算机基础,数据结构,算法分析,编程思想,开发流程等等,不仅适合参加软考的人学习,也适合扩宽自己知识视野的人去学习,每一篇都将会把重点加粗处理,特别是易错点,考试常考平时也容易记错,请一定仔细看!

桥接模式


试题六(桥接模式)

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

【说明】

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

网络异常,图片无法展示
|


【问题1】

【Jave代码】

Import java.util.*;
class Matrix{ //各种格式的文件最终都被转化为像素矩阵
//此处代码省略
};
abstract class Implementor{
Public(1);//显示像素矩阵 m
};
class WinImp extends Implementor{
public void doPaint(Matrix m){ //调用 Windows 系统的绘制函数绘制像素矩阵
};
class LinuxImp extends Implementor{
public void doPaint(Matrix m){ //调用 Linux 系统的绘制函数绘制像素矩阵
};
abstract class Image{
public void setImp(Implementor imp){ this.imp= imp; }
public abstract void parseFile(String fileName);
protected Implementor imp;
};
class BMPImage extends Image{
//此处代码省略
};
class GIFImage extends Image{
public void parseFile(String fileName) {
//此处解析BMP文件并获得一个像素矩阵对象m
(2);//显示像素矩阵m
};
Class Main{
Public static viod main(String[]args){
//在Linux操作系统上查看demo.gif图像文件
Image image=(3)
Implementor imageImp=(4)
(5)
 Image.parseFile(〝demo.gif〝);
复制代码


1.abstract void doPaint(Matrix m)

2.imp.doPaint(m)

3.new GIFImage()

4.new LinuxImp()

5.image.setImp(imageImp)

策略类

试题六(策略类)

【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略( Strategy)模式实现该要求,得到如图6-1所示的类图。

网络异常,图片无法展示
|

网络异常,图片无法展示
|


(1) double acceptCash(double money)

(2) cs=new CashNormal()

(3) cs=new CashReturn(300,100)

(4) cs=new CashDiscount(0.8)

(5) return cs.acceptCash(money)

组合模式


试题六(组合模式)

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内- 【说明】

现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下图所示:

网络异常,图片无法展示
|

目录
相关文章
|
4天前
|
安全 Java 编译器
Java 虚拟机加载 Java 类的过程
【6月更文挑战第7天】Java 是一门编译型语言,在完成代码的编写以后,需要使用 Java 编译器将源码编译成字节码文件,供虚拟机运行。在字节码被 Java 虚拟机执行之前,需要将对应的类进行加载。
33 3
|
1天前
|
安全 Java 数据安全/隐私保护
深入理解java中Unsafe类及其实现原理
深入理解java中Unsafe类及其实现原理
5 0
|
1天前
|
存储 安全 Java
滚雪球学Java(60):深入解析Java中的Vector集合类!
【6月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
136 59
滚雪球学Java(60):深入解析Java中的Vector集合类!
|
2天前
|
Java 编译器 API
java.lang.NoClassDefFoundError:无法初始化类XXX
java.lang.NoClassDefFoundError:无法初始化类XXX
6 0
|
2天前
|
安全 Java 数据安全/隐私保护
Java 程序设计 第3章 类与对象 笔记
Java 程序设计 第3章 类与对象 笔记
|
2天前
|
Java
Java动态获取某个接口下所有的实现类对象集合
Java动态获取某个接口下所有的实现类对象集合
8 1
|
3天前
|
存储 安全 算法
Java基础19-一文搞懂Java集合类框架,以及常见面试题(二)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(二)
30 8
|
3天前
|
安全 Java 开发工具
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
29 6
|
3天前
|
安全 Java 编译器
Java基础14-深入理解Java枚举类(二)
Java基础14-深入理解Java枚举类(二)
9 4
|
3天前
|
Java 编译器
Java基础14-深入理解Java枚举类(一)
Java基础14-深入理解Java枚举类(一)
13 0