用java请设计3个类,分别是学生类Student,本科生类Undergraduate,研究生类Postgraduate,其中Student类是一个抽象类,它包含一些基本的学生信息如姓名、所学课程、课程成绩等,而Undergraduate类和Postgraduate都是Student类的子类,它们之间的主要差别是计算课程成绩等级的方法有所不同,研究生的标准要比本科生的标准高一些,
时间: 2024-03-17 12:44:41 浏览: 102
好的,以下是三个类的 Java 实现:
```java
public abstract class Student {
private String name;
private String course;
private int score;
public Student(String name, String course, int score) {
this.name = name;
this.course = course;
this.score = score;
}
public abstract String getScoreLevel();
}
public class Undergraduate extends Student {
public Undergraduate(String name, String course, int score) {
super(name, course, score);
}
@Override
public String getScoreLevel() {
if (getScore() >= 90) {
return "优秀";
} else if (getScore() >= 80) {
return "良好";
} else if (getScore() >= 70) {
return "中等";
} else if (getScore() >= 60) {
return "及格";
} else {
return "不及格";
}
}
}
public class Postgraduate extends Student {
public Postgraduate(String name, String course, int score) {
super(name, course, score);
}
@Override
public String getScoreLevel() {
if (getScore() >= 95) {
return "优秀";
} else if (getScore() >= 85) {
return "良好";
} else if (getScore() >= 75) {
return "中等";
} else if (getScore() >= 65) {
return "及格";
} else {
return "不及格";
}
}
}
```
说明:
- Student 类是一个抽象类,包含基本信息和一个抽象方法 getScoreLevel,需要子类实现;
- Undergraduate 和 Postgraduate 类都是 Student 类的子类,分别实现了 getScoreLevel 方法;
- Undergraduate 和 Postgraduate 类的 getScoreLevel 方法根据不同的标准计算课程成绩等级。
阅读全文