编写一个学生和教师的数据输入和显示程序。学生的数据有编号、姓名、性别、年龄、系别和成绩,教师数据有编号、姓名、性别、年龄、职称和部门。要求将编号、姓名、性别、年龄的输入和显示设计成一个类Person,并做为学生类Student和教师类Teacher的基类。
时间: 2023-07-10 11:24:35 浏览: 47
可以按照以下方式实现该程序:
```python
class Person:
def __init__(self, id, name, gender, age):
self.id = id
self.name = name
self.gender = gender
self.age = age
def show_info(self):
print("ID:", self.id)
print("Name:", self.name)
print("Gender:", self.gender)
print("Age:", self.age)
class Student(Person):
def __init__(self, id, name, gender, age, department, grade):
super().__init__(id, name, gender, age)
self.department = department
self.grade = grade
def show_info(self):
super().show_info()
print("Department:", self.department)
print("Grade:", self.grade)
class Teacher(Person):
def __init__(self, id, name, gender, age, title, department):
super().__init__(id, name, gender, age)
self.title = title
self.department = department
def show_info(self):
super().show_info()
print("Title:", self.title)
print("Department:", self.department)
```
在上面的代码中,我们首先定义了一个基类`Person`,其中包含编号、姓名、性别和年龄的属性和显示信息的方法。然后,我们分别定义了`Student`和`Teacher`类,它们都继承自`Person`类,并添加了各自的属性和方法。在子类的构造函数中,我们使用`super()`函数调用父类的构造函数,并在其中添加子类的属性。在子类的显示信息方法中,我们先调用父类的显示信息方法,然后再添加子类的属性。这样,我们就可以实现学生和教师的数据输入和显示程序了。下面是一个示例:
```python
student = Student("001", "Tom", "Male", 20, "Computer Science", 90)
student.show_info()
teacher = Teacher("T001", "Alice", "Female", 35, "Professor", "Computer Science")
teacher.show_info()
```
输出结果为:
```
ID: 001
Name: Tom
Gender: Male
Age: 20
Department: Computer Science
Grade: 90
ID: T001
Name: Alice
Gender: Female
Age: 35
Title: Professor
Department: Computer Science
```