山东大学2017-2018年面向对象程序设计期末考试试卷(回忆版)

一、

1.什么是重置(改写)?重置和重载的区别。请写代码举例说明。

2.什么是静态方法绑定?什么是动态方法绑定?两者的优缺点。

3.给出了几个重载方法,需要根据给出的不同实参来确定调用哪个重载方法,并给出说明

二、

什么是单继承?什么是多继承?两者的优缺点?如果让你设计一门语言你会选择多继承还是单继承?为什么?

三、

给出一个类class List{

public List();

public int size();

public void add(int element);

public void includes(int element);

public void remove();

}

(1)设计一个Set类,其中包含add(增加一个元素),size(得到元素的个数),includes(判断是否已存在)方法,分别用继承和组合实现

(2)用哪一种更好?为什么?

四、

海关纳税,不同国家经过该关口交的税不同,请设计一种设计模式。画出UML图。

并从是否满足开闭原则的角度分析该模式。

五、

公司审批账单。小于2000由主管审批,2000~10000由副董事审批,10000~20000由董事长审批,20000以上开会审批。

请用责任链模式设计该问题。画出UML图,并给出代码框架。

六、

京东卖衣服。衣服有T恤,衬衫,裤子。制作面料有亚麻,纯棉,涤纶。支付方式有京东白条支付,银联网银支付,货到付款。

请选择一种设计模式,画出UML图,并针对每个类型的其中一个具体子类实现代码框架。


大体上题目和问题没错,可能有些代码细节还原的有偏颇,仅供复习参考。

以此感谢提供复习资料和往年例题的学长学姐。

你可能感兴趣的:(SDU考试题)