-
一、选择题
(
每题
2<
/p>
分,共
24
分
)
1.
以下关于构造函数的说法,其中错误的是(
B
)
A.
构造函数的函数名必须与类名相同
B.
构造函数可以指定返回类型
C.
构造函数可以带有参数
D.
构造函数可以重载
2.
类的构造函数是在(
B
)调用的。
A.
类创建时
B.
创建对象时
C.
删除对象时
D.
不自动调用
3.
在以下关于方法重载的说法,其中错误的是(
D
)
A.
方法
可以通过指定不同的返回值类型实现重载
B.
方法可以通过指定不同的参数个数实现重载
C.
p>
方法可以通过指定不同的参数类型实现重载
D.
方法可以通过指定不同的参数顺序实现重载
4.
在定义类时,
如果希望类的某个方法能够在派
生类中进一步进行改进,
以处理
不同的派生类的需要,则应该将
该方法声明为
(
D
)
l de
5.
(
D
)表示了对象间的
is-a
的关
系。
A.
组合
B.
引用
C.
聚合
D.
继承
6.
关
于单一职责原则,以下叙述错误的是(
C
)
。
A.
一个类只负责一个功能领域中的相应职责
B.
就一个类而言,应该有且权有一个引起它变化的原因
C.
一个类承担的职责越多,越容易复用,被复用的可能性越大
D.
一个类承担的职责过多时需要将
职责进行分离,将不同的职责封装在不同的
类中
7.
某系统通过使用配置文件,可以在不修改源代码的情况下更换数据库驱动
程
序,该系统满足(
B
)
A.
里氏代换原则
B.
接口隔离原则
C.
单一职责原则
D.
开闭原则
8.
一个软件实体应尽可能少地与其他软件实体发生相互作用,
这样,
当一个模块
修改时,
就会尽量少的影响其他模块,
扩展会相对容易。
这是
(
A
)
的定义。
A.
迪米特法则
B.
接口隔离原则
C.
里氏代换原则
D.
合成复用原则
9.
< br>当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(
A
)
模式。
A.
创建型
B.
结构型
C
行为型
D.
以上都可以
10.
在观察者模式中,表述错误的是(
C
)
A.
观察者角色的更新是被动的。
B.
被观察者可以通知观察者进行更新
C.
观察者可以改变被观察者的状态,
再由被观察者通知所有观察者依据被观察者
的状态进行。
D.
以上表述全部错误
11.
下面的类图表示的是哪个设计模式?(
A
)
。
A.
抽象工厂模式
C.
策略模式
B.
观察者模式
D.
桥接模式
12.
在采用“
4+1
”视图模型来描述软件体系结构中,系统工程师侧重于
( D )
A.
实现视图
B.
进程视图
C.
逻辑视图
D.
部署视图
二、填空题(每空
1
分,共
11
分)
1.
类体内成
员有
3
个访问权限,说明它们的关键字分别是
< br>public
、
private
和
protected
。
2.
请从工厂、抽象工厂、原型、单例、外观、适配器、组合、代理、命令
、迭代
器、观察者、策略模式中选择合适的模式填入下列的空缺中。
1)
工厂模式中,父类负责定义创建对象的公共接口
,子类决定要创建的具体类
是哪一个。
2)
单例模式确保某一个类仅有一个实例,并自行实例化并向
整个系统提供这个
实例。
3)
外观
模式定义了一个高层接口,
这个接口使得这一子系统更加容易使用,
为子系统中的一组接口
提供一个一致的界面,简化了一群类的接口。
4)
策略模式在对象的集合之中游走,而不暴露集合的实现。
5)
观察者
模式定义对象间的一种一对多的依赖关系
,
当一个对象的状态
发生改
变时
,
所有依赖于它的对象都
得到通知并被自动更新,
也就是让对象能在状态改
变时被通知。
3.
三层架构中的三层分别是指逻辑
层、视图层和模型层。
三、问答题(每题
5
分,共
20
分)
1.
简述“开—闭”原则的基本思想。请举出一个使
用了软件“开—闭”原则的软
件设计模式,其中何处体现了“开—闭”原则?
开闭原则
:
一个软件实体像类、模块和函数应该对扩展开放,对修改关闭。
抽象工厂模式:当添加新的产品族时,符合开闭原则,新增加
的产品族,只需要对应增加一个新的具体
工厂,对已有代码无须做任何修改。
2.
抽象类和接口有什么区别?
p>
(
1
)
、一个类只
能继承一个抽象类,而一个类却可以实现多个接口;
(
2
)
、接口中不能含有静态代码块以及静态方
法,而抽象类可以有静态代码块和静态方法;
(
3
)
、
抽象类中的成员变量
可以是各种类型的,
而接口中的成员变量只能是
public
static final
类型的;
(
4
)
、接口只能包含方法声明,而抽
象类还可以包含方法的定义。
3. GOF
< br>模式分为几种,每种包含哪些模式?以及这三种模式的作用
.
< br>创建型模式:简单工厂模式;工厂方法模式;抽象工厂模式(
Abstract
Factory
)
;创建者模式;
原型模式;单例模式。
作用:抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示他的那些对象。一个类创建型
模式使用继承改变被实例化的类
结构
型模式:外观模式;适配器模式;代理模式;装饰模式;组合模式;桥模式;享元模式
作用:程序的结构上解决模块之间的耦合问题
行为型模式:观察者模式;状态模式;策略模式;命令模式;访问者模式;解释器模式;
备忘录模式;职责链模式;访问者模式;模板方法模式;迭代
器模式
作用:分配算法和对象间的职责
4
、简述框架与架构的区别
?
框架是软件,架构不是软件
框架:应
用的半成品,就是一组组件,供你选用完成你自己的系统
架构
:是关于软件如何设计的重要策略。软件架构决策设计到如何将软件系统分解成不同的部分、各
< br>部分之间的静态结构关系和动态交互关系等
四、程序填
空(每空
2
分,共
20
分)
1.
某系统提供一个简
单计算器,
具有简单的加法和减法功能,
系统可以根据用户
p>
的选择实例化相应的操作类,现使用简单工厂模式设计该系统。
public class Operation
{
private double _numberA = 0;
private double _numberB = 0;
public virtual
double GetResult()
{
double result = 0;
return result;
}
///
///
数字
A
///
public double
NumberA
{
get
{
return _numberA;
}
set
{
_numberA = value;
}
}
///
///
数字
B
-
-
-
-
-
-
-
-
-
上一篇:大象版四年级上册科学复习资料
下一篇:SAP 系统性能优化实例