山东大学软件学院2022面向对象期末回忆版

山东大学软件学院2022面向对象期末回忆版

一、简答题

1、请简述多态变量有哪几种

2、简述OOPL有哪些内存分配方式

3、简述什么是面向接口编程,面向接口编程对于使用对象有什么好处

4、

public class Bird{
public void fly(Bird p)
{System.out.println(“Bird fly with Bird”);}
}
public class Eagle extends Bird {
public void fly(Bird p)
{System.out.println(“Eagle fly with Bird!”);}
public void fly(Eagle e)
{System.out.println(“Eagle fly with Eagle!”);}
}
Bird p1 = new Bird () ;
Bird p2 = new Eagle () ;
Eagle p3 = new Eagle () ;
p2.fly( p1 ) ;
p2.fly( p2 ) ;
p2.fly( p3 ) ;
p3.fly( p1 ) ;
p3.fly( p2 ) ;
p3.fly( p3 ) ;
请写出输出结果
(PPT上有)

5、请对于以下备选项,根据场景选择使用的模式
A 桥接模式
B 单例模式
C 。。。
就有各种学过的模式,具体顺序不记得了
(1)、 毛笔有大中小型,颜料有三种。
(PPT上的,应该是桥接模式)

(2)、 Data接口定义了两个方法(不记得具体叫什么了,假设是way1和way2),现在有另外两个类m1,m2已经实现了way1和way2要实现的功能,问,()模式可以用来通过m1,和m2来实现Data接口。
(很可能是适配器)

(3)、 打印池是操作系统中一个应用程序,在局域网中所有用户可以通过打印池来打印,请问()模式适合该场景
(可能是单例模式吧。。。不确定)

二、设计题

1、(具体不记得了,大概是这样:)
需要创建一个轨迹球类,发现它和鼠标类的程序代码差不多,于是程序员就用轨迹球类来继承鼠标类。问这个方法违反了哪个设计原则,应该怎么修改,画出修改后的类图并写出代码框架

2、有电视机工厂要分解为一个一个的子工厂,每个子工厂生产一种品牌的电视机,如海尔电视机工厂生产海尔电视机,海信电视机工厂生产海信电视机,如果后期还有新添加的品牌,只需要添加新的相应的工厂即可。应该使用哪一个模式,画出类图并写出代码框架。

3、(1)房子有很多房型,如公寓,别墅等
(2)销售员每卖出一个房子,主管都可以收到消息。
根据以上叙述,分别指出它们适合哪些设计模式,并画出类图

三、代码填空题

(这题是PPT上类似的)
(图类似这样吧。。。。,然后就是要求填代码)
在这里插入图片描述

具体代码实在不记得了QAQ。
其实这个就是PPT上装饰者模式部分的实例——发票问题。

四、后记

老师在考试之前和我们说由于疫情期间有线上上课,于是给我们适当降低了难度,总的来说,难度适中吧,另外希望这份回忆版能帮到学弟学妹,让学弟学妹做一些参考。
祝学弟学妹期末考试顺利!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值