根据类图 5.1 所描述的类之间关系,编写程序,完成以下功能。 (1)定义三个类:Student, MiddleStudent, PrimaryStudent. 其中 Student 为抽象类。他 们的类图如下:
时间: 2024-06-09 08:12:08 浏览: 166
抽象类 Student 的代码实现如下:
```java
public abstract class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public abstract void study();
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setGender(String gender) {
this.gender = gender;
}
}
```
PrimaryStudent 类的代码实现如下:
```java
public class PrimaryStudent extends Student {
public PrimaryStudent(String name, int age, String gender) {
super(name, age, gender);
}
@Override
public void study() {
System.out.println("小学生 " + getName() + " 正在学习语文、数学、英语等课程。");
}
}
```
MiddleStudent 类的代码实现如下:
```java
public class MiddleStudent extends Student {
public MiddleStudent(String name, int age, String gender) {
super(name, age, gender);
}
@Override
public void study() {
System.out.println("中学生 " + getName() + " 正在学习语文、数学、英语等课程。");
}
}
```
接下来,我们可以编写一个测试类来测试以上三个类的功能:
```java
public class Test {
public static void main(String[] args) {
Student p1 = new PrimaryStudent("小明", 8, "男");
p1.study();
Student m1 = new MiddleStudent("小红", 14, "女");
m1.study();
}
}
```
输出结果为:
```
小学生 小明 正在学习语文、数学、英语等课程。
中学生 小红 正在学习语文、数学、英语等课程。
```
阅读全文