Python中的继承
2010-07-14 16:01
399 查看
派生类继承形式为:class DerivedClass(BaseClass):
[注意]
[1] Python不会自动调用基类的constructor,我们要亲自专门调用它。在方法调用之前加上类名前缀,然后把self变量及其他参数传递给它。
[2] Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中查找。
[3] 基类是在派生类定义的时候,在元组之中指明的。
[4] 如果在继承元组中列了一个以上的类,那么它就被称作多重继承。
[注意]
[1] Python不会自动调用基类的constructor,我们要亲自专门调用它。在方法调用之前加上类名前缀,然后把self变量及其他参数传递给它。
[2] Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中查找。
[3] 基类是在派生类定义的时候,在元组之中指明的。
[4] 如果在继承元组中列了一个以上的类,那么它就被称作多重继承。
#! /usr/bin/python # Filename: inherit.py # 2010-7-14 wcdj 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), # note, this comma 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('Mr. Young', 40, 30000) s=Student('wcdj', 22, 75) print # prints a blank line members=[t, s] for i in members: i.tell() # works for both Teachers and Students ######### # output ######### >>> (Initialized SchoolMember:Mr. Young) (Initialized Teacher:Mr. Young) (Initialized SchoolMember:wcdj) (Initialized Student:wcdj) Name:"Mr. Young" Age:"40" Salary:"30000" Name:"wcdj" Age:"22" Marks:"75"
相关文章推荐
- Python对象 继承 多态 获取对象信息 类的属性
- python_类的继承
- Python中的单继承与多继承实例分析
- python第25篇之--类的继承
- [Python进阶-4]类的继承/多态/多重继承/任意多参数
- python之面向对象之继承
- Python的继承以及调用父类成员:super用法
- Python2.7 继承networkx.DiGraph报错
- python类的继承及get和set方法的使用
- Python创建类的时候,是否继承object问题
- Python中的__init__()方法及其继承
- Python 学习笔记 - 面向对象(封装,继承和多态)
- Python多重继承的异构构造器
- python 多继承(新式类) 二
- python unittest 继承时出现 object has no attribute '_testMethodDoc'
- python多重继承
- python学习(6)继承
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
- 关于 python 新式类和旧式类继承顺序的验证
- python中的多继承