python 的继承学习
来源:互联网 发布:四维排课软件免费下载 编辑:程序博客网 时间:2024/05/23 13:02
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.salaryclass 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.markst = Teacher('Mrs. Shrividya', 40, 30000)s = Student('Swaroop', 22, 75)print # prints a blank linemembers = [t, s]for member in members: member.tell() # works for both Teachers and Students
为了使用继承,我们把基本类的名称作为一个元组跟在定义类时的类名称之后。然后,我们注意到基本类的__init__
方法专门使用self
变量调用,这样我们就可以初始化对象的基本类部分。这一点十分重要——Python不会自动调用基本类的constructor,你得亲自专门调用它。
我们还观察到我们在方法调用之前加上类名称前缀,然后把self
变量及其他参数传递给它。
注意,在我们使用SchoolMember
类的tell
方法的时候,我们把Teacher
和Student
的实例仅仅作为SchoolMember
的实例。
另外,在这个例子中,我们调用了子类型的tell
方法,而不是SchoolMember
类的tell
方法。可以这样来理解,Python总是首先查找对应类型的方法,在这个例子中就是如此。如果它不能在导出类中找到对应的方法,它才开始到基本类中逐个查找。基本类是在类定义的时候,在元组之中指明的。
一个术语的注释——如果在继承元组中列了一个以上的类,那么它就被称作 多重继承 。
0 0
- python 的继承学习
- 学习Python的对象继承
- 【Python】Python学习笔记(类的继承)
- Python学习笔记(11):类的继承
- python学习-多重继承
- python学习:继承
- python学习笔记--继承
- python学习04--继承
- Python学习09:继承与多重继承
- Python基础教程学习(四)类的创建与继承
- Python学习笔记2:类的定义和继承
- Python学习笔记(5)-多重继承的坑
- Python基础学习--第十三章(类的继承)
- python学习笔记——类的继承
- Python学习(类的属性、继承、覆盖等详解)
- Python学习_我该怎么操作类的继承
- python学习——super()方法实现类的继承
- python学习之路-继承
- 初学python描述符
- Spring JDBC整合
- PHP header()函数详解
- 192 IOC DI 通俗易懂的ioc
- Spring 整合hibernate
- python 的继承学习
- jQuery Datatable 实用简单实例
- 属性动画学习ValueAnimator---------源码阅读
- KMP算法(1)-暴力匹配算法
- Web Service概述
- Internal Error 2203
- 微服务指南走北(三):Restful API 设计简述
- javaweb笔记
- 一些曾经踩过的坑,cocos2dx手机游戏开发