對學校、老師、學生作一個分類,並抽象成類。並實現各自的一些功能。代碼以下:python
父類1:學校app
# 學校 class School(object): def __init__(self,name,addr): self.name = name self.addr = addr self.students = [] self.teachers = [] # 註冊 def stu_regin(self,stu_obj): print('給學員%s辦理註冊。'%stu_obj.name) self.students.append(stu_obj) # 入職 def tec_regin(self,tec_obj): print('給老師%s辦理入職。'%tec_obj.name) self.teachers.append(tec_obj)
父類2:學校成員ide
class SchoolMember(object): def __init__(self,name,age): self.name = name self.age = age def tell(self): print('學校成員信息。')
子類1:老師spa
# 老師 class Teacher(SchoolMember): def __init__(self,name,age,course,salary): super(Teacher,self).__init__(name,age) self.course = course self.salary = salary def tell(self): print(''' ---- %s老師的信息 ---- 姓名:%s 年齡:%s 課程:%s 工資:%s '''%(self.name,self.name,self.age,self.course,self.salary)) def teach(self): print('%s老師正在給學生上%s課'%(self.name,self.course))
子類2:學生3d
# 學員 class Student(SchoolMember): def __init__(self,name,age,stu_id,class_id,fee): super(Student,self).__init__(name,age) self.stu_id = stu_id self.class_id = class_id self.fee = fee def tell(self): print(''' ---- %s學生的信息 ---- 姓名:%s 年齡:%s 學籍號:%s 班級:%s ''' % (self.name, self.name, self.age, self.stu_id, self.class_id)) def pay_fee(self): print('%s交了%s元學費。'%(self.name,self.fee))
實例化類:code
# 生成學校 sch = School('成都大學','成都') # 生成老師 te1 = Teacher("張三",35,"python3",10000) te2 = Teacher('李四','28','JAVA','10000') te3 = Teacher('王五','25','C','10000') # 生成學生 st1 = Student('李稍等','25','001','python入門班','8000') st2 = Student('張撒旦','32','002','C入門班','5000') st3 = Student('王而非','25','003','python入門班','8000')
查看老師信息,調用老師tell方法:blog
# 查看老師信息 te1.tell()
給老師辦理入職,調用學校的tec_regin方法:it
# 老師入職 sch.tec_regin(te1)
給學生辦理註冊,調用學校的stu_regin方法:入門
# 學生註冊 sch.stu_regin(st1) sch.stu_regin(st2) sch.stu_regin(st3)
老師授課:event
# 老師教課 sch.teachers[0].teach()
學生交學費:
# 學生交學費 for s in sch.students: s.pay_fee()
執行結果: