我们用类的继承来做一个学校的程序。
里面包含类--school
类--schoolmermber
子类--teacher
子类--students
然后实现一些注册,交学费,打印老师和学生信息的功能。
# __*__ coding: utf-8 __*__# __author__ = "David.z"class School(object):
members = 0def __init__(self,name,addr):
self.name = name
self.addr = addr
self.students = []# self.teachers = []self.staffs = []def enroll(self,stu_obj):print ("为学员%s办理注册手续"%stu_obj.name)
self.students.append(stu_obj)def hire(self,staff_obj):print ("为员工%s办理入职手续" % staff_obj.name)
self.staffs.append(staff_obj)class SchoolMember(object):def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex =sex# passdef tell(self):passclass Teacher(SchoolMember):def __init__(self,name,age,sex,salary,course):
super(Teacher, self).__init__(name,age,sex)
self.salary = salary
self.course = coursedef tell(self):print('''----info of Teacher: %s ----
Name:%s
Age:%s
Sex:%s
Salary:%s
Course:%s'''%(self.name,self.name,self.age,self.sex,self.salary,self.course))def teach(self):print("%s is teaching course[%s]"%(self.name,self.course))class Student(SchoolMember):def __init__(self,name,age,sex,stu_id,grade):
super(Student, self).__init__(name,age,sex)
self.stu_id = stu_id
self.grade = gradedef tell(self):print('''----info of Student: %s ----
Name:%s
Age:%s
Sex:%s
Stu_id:%s
Grade:%s'''%(self.name,self.name,self.age,self.sex,self.stu_id,self.grade))def pay_tuition(self,amount):print ("%s has paid tution for $[%s]"%(self.name,amount))
school = School("思远教育学院","湖北武汉")
t1 = Teacher("薛永春",26,"男",200000,"Cisco")
t2 = Teacher("陈洁",22,"男",180000,"SQL")
s1 = Student("周倩",18,"女",1001,"Python")
s2 = Student("姚景鹏",18,"男",1002,"Cisco")
t1.tell()
t1.teach()
s1.tell()
school.hire(t1)
school.enroll(s1)
school.enroll(s2)print (school.students)print (school.staffs)
school.staffs[0].teach()for stu in school.students:
stu.pay_tuition(20000)
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did162389