编写一个学生和教师数据输入和显示程序,学生数据有编号,姓名,班号和成绩,教师数据有编号,姓名,职称和部门,要求将编号,姓名输入和显示设计成一个类Person,并作为学生数据操作类Student和教师数据操作类Teacher的基类
时间: 2024-11-14 10:24:38 浏览: 31
为了创建这样的程序,我们可以首先定义一个名为`Person`的抽象基类,包含学生的共同属性(如编号、姓名)以及教师的共同属性(如编号、姓名)。然后分别创建`Student`和`Teacher`类作为`Person`类的具体实现。
以下是一个简单的实现示例:
```java
// Person抽象基类
public abstract class Person {
private String id;
private String name;
public Person(String id, String name) {
this.id = id;
this.name = name;
}
// getter和setter方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 定义一个通用的方法用于显示信息,子类覆盖此方法以提供特定的输出格式
public abstract String displayInfo();
}
// Student类继承自Person
public class Student extends Person {
private int studentClassId;
private double score;
public Student(String id, String name, int studentClassId, double score) {
super(id, name);
this.studentClassId = studentClassId;
this.score = score;
}
@Override
public String displayInfo() {
return "ID: " + id + ", Name: " + name + ", Class ID: " + studentClassId + ", Score: " + score;
}
}
// Teacher类继承自Person
public class Teacher extends Person {
private String title;
private String department;
public Teacher(String id, String name, String title, String department) {
super(id, name);
this.title = title;
this.department = department;
}
@Override
public String displayInfo() {
return "ID: " + id + ", Name: " + name + ", Title: " + title + ", Department: " + department;
}
}
```
你可以根据需求使用`Scanner`类从控制台获取用户输入,然后实例化对应的类并调用`displayInfo()`方法来显示信息。这里没有列出完整的用户交互界面,但大致的步骤可能是这样的:
1. 创建`Person`类型的变量,如`Student student`或`Teacher teacher`
2. 获取用户输入(例如使用`Scanner`)
3. 根据输入类型实例化相应的类(`student = new Student(inputId, inputName, ...)`)
4. 输出对象的`displayInfo()`结果
阅读全文