Java面向对象基础II(继承和多态)

假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:

(1)设计一个基类Student描述学生的共同特征。

(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。

(3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。

(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。

class Student{
public String name;
public double a,b,c;
public double average;
int status;
}
class Undergraduate extends Student{  //本科生
Undergraduate(String s,double a,double b,double c)
{
this.name= s;
this.a = a;
this.b = b;
this.c = c;
this.average = (a+b+c)/3;
}
public void Display(){
	if(this.average>=60)
		status=1;
    else
        status=0;
if(status==1)
System.out.println("本科生"+name+"的平均分是"+average+",可以拿到学士学位! ");
if(status==0)
System.out.println("本科生"+name+"的平均分是"+average+",不可以拿到学士学位!");
}
}
class Graduate extends Student{    //研究生
Graduate(String s,double a,double b,double c){
this.name = s;
this.a = a;
this.b = b;
this.c = c;
this.average = (a+b+c)/3;
}
public void Display(){
if(this.average>=80)
status=1;
else
status=0;
if(status==1)
System.out.println("研究生"+name+"的平均分是"+average+",可以拿到硕士学位! ");
if(status==0)
System.out.println("研究生"+name+"的平均分是"+average+",不可以拿到硕士学位! ");
}
}
public class StudentDemo{
public static void main(String args[]){
Undergraduate st1=new Undergraduate("张三",50,50,50);
st1.Display();
Graduate st2=new Graduate("李四",70,80,90);
st2.Display();
}
}

猜你喜欢

转载自blog.csdn.net/y0205yang/article/details/121352793