以学校职工为基类,派生出教师类和管理人员类,又从教师类和管理人员类共同派生出教师管理人员类。
时间: 2023-10-23 16:08:41 浏览: 153
以下为Python代码实现:
```python
# 定义学校职工类
class SchoolStaff:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def introduce(self):
print("我是一名学校职工,我的名字是{},我今年{}岁,我是{}。".format(self.name, self.age, self.gender))
# 定义教师类
class Teacher(SchoolStaff):
def __init__(self, name, age, gender, subject):
super().__init__(name, age, gender)
self.subject = subject
def introduce(self):
print("我是一名教师,我的名字是{},我今年{}岁,我是{},我教{}科目。".format(self.name, self.age, self.gender, self.subject))
# 定义管理人员类
class Administrator(SchoolStaff):
def __init__(self, name, age, gender, department):
super().__init__(name, age, gender)
self.department = department
def introduce(self):
print("我是一名管理人员,我的名字是{},我今年{}岁,我是{},我在{}部门工作。".format(self.name, self.age, self.gender, self.department))
# 定义教师管理人员类
class TeacherAdministrator(Teacher, Administrator):
def __init__(self, name, age, gender, subject, department):
Teacher.__init__(self, name, age, gender, subject)
Administrator.__init__(self, name, age, gender, department)
def introduce(self):
print("我是一名教师管理人员,我的名字是{},我今年{}岁,我是{},我教{}科目,我在{}部门工作。".format(self.name, self.age, self.gender, self.subject, self.department))
```
使用示例:
```python
# 创建学校职工对象
staff = SchoolStaff("张三", 30, "男")
staff.introduce()
# 创建教师对象
teacher = Teacher("李四", 35, "女", "数学")
teacher.introduce()
# 创建管理人员对象
administrator = Administrator("王五", 40, "男", "行政")
administrator.introduce()
# 创建教师管理人员对象
teacher_administrator = TeacherAdministrator("赵六", 45, "女", "英语", "财务")
teacher_administrator.introduce()
```
输出结果:
```
我是一名学校职工,我的名字是张三,我今年30岁,我是男。
我是一名教师,我的名字是李四,我今年35岁,我是女,我教数学科目。
我是一名管理人员,我的名字是王五,我今年40岁,我是男,我在行政部门工作。
我是一名教师管理人员,我的名字是赵六,我今年45岁,我是女,我教英语科目,我在财务部门工作。
```
阅读全文