实验5:Java继承与多态
一、实验目的
(1)掌握Java类的继承关系和派生方法
(2)理解多态的概念和使用。
二、实验设备要求
JDK 6.0、JCreator和NetBeans 6.9
三、实验内容
1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。
2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:
(1)设计一个基类Student描述学生的共同特征。
(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
(3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输
出相关信息。
运行结果如下:期中Tom和Mary的三科平均成绩可以不同,结果必须是两个,一个可以拿到学位,一个不可以拿到学位。
编程思路:
1.本程序一共包括四个类:一个基类Student,两个子类Undergraduate(本科生类)和Graduate(研究生类),测试类StudentDemo。(请同学们按照这个编程顺序逐一完成各个类的结构。)
2.Student类包括
(1)共有属性:学生姓名,课程1成绩,课程2成绩,课程3成绩,它们的访问控制属性都是private;
(2)共有方法:构造方法(完成对私有数据成员的赋值),获得学生姓名方法(用于返回学生姓名),获得平均分(用于返回学生三门课程的平均分)。
3.Undergraduate类:构造方法(调用父类的有参构造方法),判断是否通过方法(平均分大于等于60就通过,否则不通过,并输出结果)。
4.Graduate类:构造方法(调用父类的有参构造方法),判断是否通过方法(平均分大于等于80就通过,否则不通过,并输出结果)。
5.StudentDemo类:main方法(分别定义Undergraduate类和Graduate类的对象,并通过对象调用判断是否通过方法,输出结果)。