题目
1、概述:
完成学生,组长,教师的设计与实现。
2、具体实现内容:
学生:
姓名, 年龄, 学号
吃饭, 睡觉, 学习
组长:
姓名, 年龄, 学号, 职务
吃饭, 睡觉, 学习, 管理
教师:
姓名, 年龄, 职务
吃饭, 睡觉, 教学, 管理
根据以上需求,需要考虑如何设计继承关系,是否会用到多继承等。
3、主函数:测试
学生小明:实现吃饭、睡觉、学习。
班级学习小组长,王组长:实现吃饭、睡觉、学习、管理班级学习。
教师王老师:实现吃饭、睡觉、上课教学、管理班级学习。
代码
# author:dq
# project:PythonProject
# date:2021年11月04日
# function:班级管理相关类的实现# Person类:姓名, 年龄, 吃饭, 睡觉
class Person():def __init__(self, name, age):self.name = nameself.age = agedef eat(self):print(self.name + '在吃饭!')def sleep(self):print(self.name + '在睡觉 !')# Student类: 姓名, 年龄, 学号 吃饭, 睡觉, 学习
class Student(Person):__slots__ = ('name', 'age', 'number')def __init__(self, name, age, number):super(Student, self).__init__(name, age)self.number = numberdef learn(self):print(self.name + '在学习!')# GroupLeader类:姓名, 年龄, 学号, 职务 吃饭, 睡觉, 学习, 管理
class GroupLeader(Student):def __init__(self, name, age, number, post):super(GroupLeader, self).__init__(name, age, number)self.post = postdef govern(self):print(self.name + '管理班级学习!')# 姓名, 年龄, 职务 吃饭, 睡觉, 教学, 管理
class Teacher(Person):def __init__(self, name, age, post):super(Teacher, self).__init__(name, age)self.post = postdef govern(self):print(self.name + '管理班级学习!')def teach(self):print(self.name + '上课教学')# Main:测试类# 学生小明:实现吃饭、睡觉、学习。# 班级学习小组长,王组长:实现吃饭、睡觉、学习、管理班级学习。# 教师王老师:实现吃饭、睡觉、上课教学、管理班级学习。
def main():student = Student('小明', 20, '19380120114')student.eat()student.sleep()student.learn()groupLeader = GroupLeader('王组长', 21, '19380120110', '班级学习小组长')groupLeader.eat()groupLeader.sleep()groupLeader.learn()groupLeader.govern()teacher = Teacher('王老师', 35, '教师')teacher.eat()teacher.sleep()teacher.teach()teacher.govern()main()