《面向对象程序设计》试题
- 格式:doc
- 大小:92.50 KB
- 文档页数:16
一、程序修改(20分) 说明:描述程序中的语法错误原因并修改,每小题4分,错误原因和改正错误各2分。
1. isPrime 方法用于检查参数num 是否是质数。
2. 具体类Reader 实现了Readable
接口。
3. main 方法调用重载的max 方法求2个数的最大值。
4. 子类Child覆盖了父类Parent中的output方法。
5. main方法调用sum方法求数组所有元素的和。
二、程序填空(20分) 说明:填充程序中的空白,使程序能够正确运行,每空2分。
1. 以下程序功能为输入多个班的考试成绩,并分别计算每个班的总成绩。
2. 以下程序定义了Circle和Cylinder两个类。
三、阅读程序(20分) 说明:阅读以下每段程序,写出运行的结果,每小题5分。
1. 阅读程序1
2. 阅读程序2
3. 阅读程序3
4. 阅读程序4, 分别写出??处的值是30和50的输出结果。
四、程序设计(40分)
1. 设计并编写一个名为MyPoint的类表示平面上一个具有x坐标和
y坐标的点,完成以下要求:(15分)
●将该类放置于包prog01中;
●两个double类型数据域x和y表示坐标,并进行封装;
●无参构造方法创建点(0.0, 0.0); 有参构造方法按指定坐标
创建一个点;
●方法distance返回当前点对象到参数点对象之间的距离;
●编写测试类TestMyPoint,其main方法中创建两个点(0.0,
0.0)和(10.0, 35.5),输出这两个点之间的距离。
2.根据材料完成程序代码(15分)。
要求利用多态性计算若干不同类型几何图形的面积之和,类与接口的关系见下面的类图。
类CricleV1,类RectangleV1和测试类Tester的源码已经给出。
CircleV1.java
RectangleV1.java
Tester.java
请根据以上给定的材料,完成以下代码,使的Tester类中的main
方法能够顺利运行。
注意Tester类中行尾有“//”标注的行使用了你需要完成的接口和类。
(1) 编写完成接口CalcArea.java。
(5分)
(2) 编写完成类CircleV2.java。
(5分)
(3) 编写完成类RectangleV2.java。
(5分)
3. 根据材料完成程序代码(15分)。
根据以上给出的银行账户类Account的定义,按要求完成以下代码。
说明:答卷上只填写修改部分的代码即可,原有代码的其他部分不需要重写。
(1) 修改Account类的定义,使得Account类可以进行序列化。
(3分)
(2) 修改并完成getMoney方法,要求:如果余额足够,则减去参数amt给出的金额;否则getMoney方法抛出一个Exception异常对象,异常信息为“余额不足.”。
(3分)
(3) 修改Account类的定义,使得Account类可以进行“深克隆”,说明:Date类可以进行克隆。
(4分)。