山东大学软件学院面向对象编程导论期末考试回忆版

一、考试时间

2021年7月5日 8:30-10:30

本次考试为软件学院2019级大二下面向对象期末考试,具体的题目跟回忆版会有一定差距,可能有错误的地方,记不清了,还请见谅

二、考试范围

老师上课讲过的ppt,包含面向对象基础知识,设计原则,设计模式

类图要求掌握

重点内容在老师考前给的提纲上,老师说提纲以外的内容在考卷上的分值小于5%

三、考试题目

3.1 简答题(4*5 = 20分)

1.描述重写,重载,重定义有什么区别(要求写出一个类的代码,然后根据代码说明)

2.描述静态方法绑定和动态方法绑定,并从效率,忘了,忘了,三个方面对比两种绑定方式

3.描述什么是替换原则?描述三种内存分配方式?

4.代理有几种形式,分别有什么用途

3.2 设计题 (10+20+10+20 = 60分)

1.题目给出了一个UML图,里面描述了一个FileName类,继承String类。问这种方法违反了哪个设计原则,应该如何改进,画出改进后的类图

2.类图大致如下,SwitchToggle里还有一个构造方法没画上
在这里插入图片描述
(1)要求改进以上结构,设计一个开关类,这个开关类可以实现对灯泡和灯管都进行开启和关闭的操作,画出类图
(2)进一步拓展,要求这个开关类不仅能实现对电灯的控制,还能实现对电视,电冰箱,空调的控制,画出对应的类图,并写出关键代码,要求满足DIP原则

3.买股票,如果一个人买了一支股票,而这支股票的价格变动超过5%,就向所有股民发送消息,如果一个人将一支股票卖掉了,那么他不会收到消息。问用什么设计模式实现,要求画出类图和关键代码(发送消息的代码)

4.有一个计算机程序,可以实现绘图功能。现有一个Shape类,要对圆,三角形,矩形实现填充颜色和描绘轮廓的方法

(1)使用什么模式实现?画出对应的类图,写出关键代码
(2)将圆,三角形,矩形(具体的图形类)放入一个链表中,并打印输出

3.3 综合题(20分)

要求补全代码,使用策略模式。

题目的背景是给了一个Car类,这个Car类有两个子类。然后给了一个策略接口,策略类有两个对应的子类。这些类全部以类图的方式呈现

题目已经给出了部分代码,要求补全策略类接口的代码,还有Car类的代码,总共有5空,一空4分

四、后记

面向对象考试就这样结束了,总的来说,这次考试设计题有一定的难度,要求自己判断要用什么设计模式,并给出对应的类图,关键代码。综合题难度较低,简答题难度适中,掌握好重点内容问题应该就不大。

最后祝学弟学妹面向对象期末考试顺利!

  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值