《面向对象程序设计》试题

  • 格式: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分)。