2、 定义公民类,实例成员变量有身份证号、姓名、年龄和性别。 定义公民类的派生类:学生类和教师类。 学生类增加实例成员变量学号、班级和分数 教师类增加实例变量工号、系别和工资。
时间: 2024-05-11 16:16:14 浏览: 211
好的,您的问题是:2、定义公民类,实例成员变量有身份证号、姓名、年龄和性别。 定义公民类的派生类:学生类和教师类。 学生类增加实例成员变量学号、班级和分数 教师类增加实例变量工号、系别和工资。
以下是实现代码:
```python
class Citizen:
def __init__(self, id_card, name, age, gender):
self.id_card = id_card
self.name = name
self.age = age
self.gender = gender
class Student(Citizen):
def __init__(self, id_card, name, age, gender, student_id, class_name, score):
super().__init__(id_card, name, age, gender)
self.student_id = student_id
self.class_name = class_name
self.score = score
class Teacher(Citizen):
def __init__(self, id_card, name, age, gender, teacher_id, dept_name, salary):
super().__init__(id_card, name, age, gender)
self.teacher_id = teacher_id
self.dept_name = dept_name
self.salary = salary
```
这里我们定义了一个公民类 Citizen,它有身份证号、姓名、年龄和性别等实例成员变量。然后分别定义了 Citizen 的两个派生类:Student 和 Teacher。其中,学生类 Student 增加了学号、班级和分数等实例成员变量;教师类 Teacher 增加了工号、系别和工资等实例成员变量。
派生类的初始化函数中,使用了 super() 函数来调用基类 Citizen 的初始化函数,以便在初始化时先初始化基类的实例成员变量。
阅读全文