定义一个人员类CPerson,包括字段:姓名,编号、性别,以及用于输入/输出的方法。在此基础上派生出学生类CStudent(增加“成绩”字段)和教师类(增加“教龄:字段),并实现对学生和教师信息的输入/输出。
时间: 2024-10-27 16:10:25 浏览: 24
在面向对象编程中,我们可以首先定义一个基础类`CPerson`,然后通过继承创建两个特殊的子类`CStudent`和`CTeacher`。这里是一个简单的例子:
```java
// 基础人员类 CPerson
public class CPerson {
private String name;
private String id;
private char gender;
// 构造函数
public CPerson(String name, String id, char gender) {
this.name = name;
this.id = id;
this.gender = gender;
}
// 输入/输出方法
public void inputPersonInfo() {
System.out.println("姓名:" + name + ", 编号:" + id + ", 性别:" + gender);
}
public void outputPersonInfo() {
System.out.println("姓名:" + name + ", 编号:" + id + ", 性别:" + gender);
}
}
// 学生类 CStudent 继承自 CPerson
public class CStudent extends CPerson {
private double score; // 添加成绩字段
public CStudent(String name, String id, char gender, double score) {
super(name, id, gender); // 调用父类构造函数
this.score = score;
}
// 输入/输出方法,包含成绩
@Override
public void inputPersonInfo() {
super.inputPersonInfo();
System.out.println("成绩:" + score);
}
public void outputStudentInfo() {
System.out.println("姓名:" + name + ", 编号:" + id + ", 性别:" + gender + ", 成绩:" + score);
}
}
// 教师类 CTecher 继承自 CPerson
public class CTecher extends CPerson {
private int teachingYears; // 添加教龄字段
public CTecher(String name, String id, char gender, int teachingYears) {
super(name, id, gender);
this.teachingYears = teachingYears;
}
// 输入/输出方法,包含教龄
@Override
public void inputPersonInfo() {
super.inputPersonInfo();
System.out.println("教龄:" + teachingYears + "年");
}
public void outputTeacherInfo() {
System.out.println("姓名:" + name + ", 编号:" + id + ", 性别:" + gender + ", 教龄:" + teachingYears + "年");
}
}
```
在这个设计中,`CStudent`和`CTeacher`都实现了对个人信息的输入/输出,并各自添加了特有的属性(成绩和教龄)。你可以通过这些类的对象调用相应的输入/输出方法来获取或设置信息。
阅读全文