python之类的继承

我们用类的继承来做一个学校的程序。

里面包含类--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)

 

上一篇:MySQL数据库中字段添加外键的两种方式


下一篇:sql server 获取格式化日期时间