四、继承:实例一学生成绩统计 学生成绩统计:一个班级有n个学生,一个班长、一个学委。班长平均分加5分、学委平均分加3分。输出学生信息。 (1)Studert学生类:学号【白增】 姓名(name.Str
时间: 2024-10-21 18:10:43 浏览: 33
在面向对象编程中,"继承"是一种创建新类的方式,它允许已存在的类(称为父类或超类)作为基础,新类可以继承其属性和方法。在这个实例中,我们可以设计一个"Student"类作为基本的学生模型,然后创建两个派生类,如"Monitor"(班长)和"Xuewei"(学委),它们分别代表学生角色的不同角色。
```java
// 定义一个基础学生类 Student
class Student {
private String id;
private String name;
// 构造函数
public Student(String id, String name) {
this.id = id;
this.name = name;
}
// 获取和设置方法
public String getId() { return id; }
public String getName() { return name; }
// 平均成绩方法,这里假设默认值为0
public double getAverageScore() { return 0; }
}
// 班长 Monitor 继承自 Student 类,并增加额外功能
class Monitor extends Student {
public Monitor(String id, String name) {
super(id, name);
}
@Override
public double getAverageScore() {
return super.getAverageScore() + 5;
}
}
// 学委 Xuewei 类也继承自 Student 类
class Xuewei extends Student {
public Xuewei(String id, String name) {
super(id, name);
}
@Override
public double getAverageScore() {
return super.getAverageScore() + 3;
}
}
// 示例:统计班级学生信息
public class GradeBook {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Monitor("001", "张三"));
students.add(new Xuewei("002", "李四"));
for (Student student : students) {
System.out.println("学生 " + student.getName() + " 的平均成绩: " + student.getAverageScore());
}
}
}
```
阅读全文