《面向对象程序设计》实验指导书

7. 在下列代码中,类A和类B在不同的包中。如果问号的位置用空白代替,类B能正常编译吗?如果问号的位置用private代替,类B能正常编译吗?如果问号的位置用protected代替,类B能正常编译吗?

8. 写出执行Test.java结果。

9. 写出执行Test1.java、Test2.java结果。

(1)

(2)

10. 写出程序HidingDemo.java运行结果:

11. 判断下列说法的对错: ·终极类可以有实例。 ·终极类可以扩展。 ·终极方法可以被覆盖。

·总可以成功地将子类的实例转换为父类。

·总可以成功地将父类的实例转换为子类。

12. (Person、Student、Employee、Faculty和Staff类)设计名为Person的类和它的两个

子类Student和Employee。Employee有子类Faculty、Staff。人有姓名、地址、电话号码和电子邮件地址。学生有班级状态(一年级、二年级、三年级或四年级),将这些状态定义为常量。职员有办公室、工资和受聘日期。定义名为MyDate的类,包含数据域year(年)、month(月)、day(日)。职员有办公时间和级别,职员有职务称号。 覆盖每个类中的toString方法显示相应的类名和人名。 编写测试程序,创建Person,Student,Employee,Faculty和Staff,并调用它们的toString()方法。

13. 定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。

14. 定义一个类SA,该类有一个方法f():public int f(int 1,int b),该方法返回a和b的最大值。再定义该类的子类SB,要求子类重写父类的方法f,重写的方法将返回a和b的最小公倍数。

要求在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求在测试程序中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数。

15. 定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法

(2)setX、setY、getX、getY、display方法 (3)toString()、equals()

(4)类方法distance用来计算亮点之间的距离

编写测试程序,创建Pointer的两个对象并计算两个点坐标的中点。

16. 编写程序.定义类Vehlcles.属性包括size、color、seats,还有一个构造方法和一个

显示信息的方法。然后从此类中派生Car类,其中包括构造方法和显示信息的方法,并编 写程序进行测试。

17. 编写个矩形类MyRectangle,其中包括方法getHeigth(获得矩形的长度)、getWidth方法(获得矩形的宽度)、setHeigth方法(设置矩形的长度)、setWidth方法(设置矩形的宽 度)、getArea方法(求矩形的面积)和showlnfo方法(显示矩形的格式),从矩形类派生出一个子类Mysquare代表正方形,并对gctArea()方法和showinfo()方法进行重写。并编 写程序进行测试。

18. 主板上的PCI插槽就是显示中的接口,可以把声卡、显卡、网卡都插在PCI插槽上,而不用担心那个插槽是专门插哪个的。编写程序实现这个原理。

19. 定义一个抽象类Area、两个Area的子类RectArea和RoundArea,以及一个实现类ImpleArea。要求如下

(1)抽象类Area类中只包含一个抽象方法double area()。

(2)子类RoundArea类通过覆盖父类中的抽象方法area()来求圆的面积,另一个子类

RectArea类通过覆盖父类中的抽象方法area()求长方形的面积。

(3)圆的半径和长方形的边分别定义为子类RoundArea类和RectArea类的域,都为

double娄型。

(4)ImpleArea类中创建对象,接收键盘输入,输入内容分别为圆的半径和长方形的边,

并求出圆和长方形的面积,在屏幕上显示。

20.编写一个Animal类,包含:

(1)属性:private String type。

(2)构造方法;用于初始化私有属性type。

(3)方法:public string toString(),用于返回动物类型的信息public void sound(),用于

输出动物的叫声信息。

21.编写一个Flyable接口,包含:

方法:double flySpeed(),用于返回最大的飞行速度。

22.编写Giede(老鹰)类和Pigeon(鸽子)类,分别继承题16中的Animal类并实现20题中

的F1yable接口。编写测试程序,显示输出老鹰和鸽子的叫声信息和最大飞行速度。 23.编码实现一个打印机监视器,其中包括两个布尔型域“墨盒用尽”、“最后一次后打印

过10万张纸”和一个方法“需要维修”。该方法在两个布尔型域中有一个为返回真。 24.编码实现温度类,其中包括4个方法,其中getFahrenheit()和getCelsius()返回华氏和摄氏温度值,setFahrenhei ()和setCelsius()分别设置华氏和摄氏温度值。 25.编码实现地址簿类。每个对象中包括“姓名”、“地址”、“电话”三个域,并为该类定义相应的get,set方法。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4