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

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

 

©著作权归作者所有:来自51CTO博客作者天天打老虎的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 二手房购买流程及注意事项,建议收藏!避免踩坑!
  2. 子类初始化父类的二种方法
  3. Java原子类实现原理分析
  4. 当模板方法遇到了委托函数,你的代码又可以精简了
  5. 怎么理解java的面向对象及三个特性
  6. php学习笔记(类声明,类的实例化,类的静态成员与类的扩展)
  7. 面向对象封装,继承,加载器
  8. 接口和抽象类
  9. Java基础知识点1

随机推荐

  1. 用于在Google App Engine上构建应用程序
  2. python进阶——利用网页爬虫写天气预报采
  3. python过滤html文档中的Tag标签
  4. python 处理csv文件的过程对换行符的处理
  5. Django 基础(一),项目创建、URL路由、数据库
  6. 是什么导致了Python分割错误?
  7. python 产生随机数,随机字符串
  8. Python3学习笔记之十九
  9. 如何正确地获取在pysnmp中被捕获的变量的
  10. Python on Raspbian - " TypeError: ' nu