3.设计一个Student类,继承Person类并且实现Score接口,定义包括语文、数学和英语分数、设置方法(分数)、构造方法。
时间: 2024-10-11 10:16:17 浏览: 30
Java 类的继承基础练习、GregorianCalendar的使用
在Java中,你可以设计一个名为`Student`的类,它继承自`Person`类,并实现`Score`接口。`Student`类将包含私有变量表示语文、数学和英语分数,以及相应的设置方法(setters)和构造方法。以下是这个类的一个基本设计示例:
```java
import java.util.ArrayList;
import java.util.List;
class Person {
protected String name;
// 省略了person类的其他属性和构造方法
}
public class Student extends Person implements Score {
private List<Double> scores; // 语文、数学、英语等科目的分数列表
private double chineseScore;
private double mathScore;
private double englishScore;
// 构造方法,初始化分数列表
public Student(String name) {
this.name = name;
scores = new ArrayList<>();
}
// 设置分数的方法
public void setChineseScore(double score) {
this.chineseScore = score;
}
public void setMathScore(double score) {
this.mathScore = score;
}
public void setEnglishScore(double score) {
this.englishScore = score;
}
// 添加分数到列表
public void addScore(double score, String subject) {
switch(subject.toLowerCase()) {
case "chinese":
chineseScore = score;
break;
case "math":
mathScore = score;
break;
case "english":
englishScore = score;
break;
default:
throw new IllegalArgumentException("Invalid subject");
}
scores.add(score);
}
@Override
public double average() {
// 计算并返回总分的平均值
double total = chineseScore + mathScore + englishScore;
return total / 3.0;
}
// 省略getter方法...
}
阅读全文