首页 > 代码库 > 简明python教程七----面向对象的编程(下)
简明python教程七----面向对象的编程(下)
继承:类之间的类型和子类型关系
代码重用:SchoolMember类被称为 基本类或超类,而Teacher和Student类被称为导出类或者子类
#!/usr/bin/python #Filename:Inherit.py class SchoolMember: ‘Represents any school member.‘ def __init__(self,name,age): self.name = name self.age = age print ‘(Initialized SchoolMember:%s)‘ %self.name def tell(self): ‘Tell my details.‘ print ‘Name:"%s" Age:"%s"‘%(self.name,self.age) class Teacher(SchoolMember): ‘Represents a teacher.‘ def __init__(self,name,age,salary): SchoolMember.__init__(self,name,age) self.salary = salary print ‘(Initialized Teacher:%s)‘ %self.name def tell(self): SchoolMember.tell(self) print ‘Salary: "%d"‘%self.salary class Student(SchoolMember): ‘Represents a student.‘ def __init__(self,name,age,marks): SchoolMember.__init__(self,name,age) self.marks=marks print ‘(Initialized Student:%s)‘%self.name def tell(self): SchoolMember.tell(self) print ‘Marks:"%d"‘%self.marks t=Teacher(‘Mrs.Shrividya‘,40,30000) s=Student(‘Swaroop‘,22,75) print #prints a blank line members = [t,s] for member in members: member.tell()
结果:
(Initialized SchoolMember:Mrs.Shrividya) (Initialized Teacher:Mrs.Shrividya) (Initialized SchoolMember:Swaroop) (Initialized Student:Swaroop) Name:"Mrs.Shrividya" Age:"40" Salary: "30000" Name:"Swaroop" Age:"22" Marks:"75"
注意:为了使用继承,把基本类的名称作为一个元组跟在定义类时的类名称之后。
基本类的__init__方法专门使用self变量调用,这样我们就可以初始化对象的基本类部分。
记住:python不会自动调用基本类的constructor,需要亲自专门调用它。
简明python教程七----面向对象的编程(下)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。