在上一篇博客中介绍了 Python 中的类和对象,详细请见http://blog.csdn.net/m0_37324740/article/details/76144902,Python 提供了类的继承机制,解决软件重用问题。

其格式为:

class 子类名(基类名1,基类名2...):

定义子类新特性

example 1

#导入已经定义的Dog类
class Dog:def setname(self,name):self.name = name def setcolor(self,color):self.color = colordef bark(self):print("wang!wang!I am" + self.name + "!")#定义GuideDog类
class GuideDog(Dog):                                  #继承基类Dog类#定义子类自己的__init__()方法def __init__(self,name):Dog.setname(self,name)                        #调用基类的setname()方法#定义子类自己的guide()方法def guide(self):print("我正在引导我的主人!")
#创建一导盲狗对象gDog1
gDog1 = GuideDog("忠诚卫士")
gDog1.bark()                                          #调用继承的bark()方法
gDog1.guide()                                         #调用自己的guide()方法

运行结果:

wang!wang!I am忠诚卫士!
我正在引导我的主人!

example 1中的基类没有采用 __init__ 方法,如果采用 __init__ 方法,这继承时分两种情况:

example 2

#定义基类Dog类
class Dog:#使用__init__方法def __init__(self,name):self.name = namedef bark(self):print("wang!wang!I am" + self.name + "!")#定义GuideDog类
class GuideDog(Dog):                                                           #定义子类自己的guide()方法def guide(self):print("我正在引导我的主人!")
#创建一导盲狗对象gDog1
gDog1 = GuideDog("忠诚卫士")
gDog1.bark()
gDog1.guide()  

运行结果:

wang!wang!I am忠诚卫士!
我正在引导我的主人!

example 2 中的GuideDog的初始化与基类的__init__()方法相同,故无需重新定义,直接使用即可。

example 3

#定义基类Dog类
class Dog:#使用__init__方法def __init__(self,name):self.name = namedef bark(self):print("wang!wang!I am" + self.name + "!")#定义GuideDog类
class GuideDog(Dog):      #定义自己的__init__()方法def __init__(self,name,year):self.workyear = year                            #增加新属性workyearDog.__init__(self,name)                         #显式调用基类的__init__()方法#定义子类自己的guide()方法def guide(self):print("我正在引导我的主人!")print("我有 %d 年的工作经历!"%self.workyear)
#创建一导盲狗对象gDog1
gDog1 = GuideDog("忠诚卫士",3)
gDog1.bark()
gDog1.guide() 

运行结果:

wang!wang!I am忠诚卫士!
我正在引导我的主人!
我有 3 年的工作经历!

example 3 中子类的GuideDog在基类的Dog的初始化基础上增加了新属性(woekyear属性),故在定义自己的__init__()方法时,需要显式调用基类的__init__()方法

Python 中类的继承相关推荐

  1. python类与继承person类_关于python中类的继承及self

    关于python中类的继承及self 如下,如果调用student类,则可以正常运行,但是如果去掉consumer.__init__(self, fee)中的self,将其改成consumer.__i ...

  2. python类方法继承_对python中类的继承与方法重写介绍

    1.单继承 父类也叫基类 子类也叫派生类 如下所示,继承的关系: 继承的书写格式: class 子类(父类): 方法 实例: class Animal: def eat(self): print(&q ...

  3. python中类的继承关系使用什么符号表示_智慧职教: Python中类的继承关系使用( )符号表示?...

    智慧职教: Python中类的继承关系使用( )符号表示? 答:2, 芭娜娜频繁描写死亡的真正意图是什么?() 答:寻求走出死亡阴影,重获新生的途径 中国大学MOOC: 脂肪是对人体不好的营养素 答: ...

  4. python中类的继承规则

    python中类的继承规则 在学习python中的继承规则之前,首先要知道python中类的划分. 只要继承object类的就是新式类,不继承object类的都是经典类. 在python3中,所有的类 ...

  5. Python中类的继承方法

    Python中类与类之间可以继承,继承的叫父类或超类,新创建的叫子类.通过继承,子类可以使用父类的属性,这样可以有效减少代码的冗余度,提高代码重用性. 谈到类的继承,首先要了解构造函数或构造方法. 构 ...

  6. Python 中类的继承:属性初始化、类型判断、多态、多继承和对象信息的获取

    属性初始化: 一定要用super(Teacher, self).__init__(name, gender)去初始化父类,否则,继承自 Person 的 Teacher 将没有 name 和 gend ...

  7. python中类的继承关系使用什么符号_Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系)...

    在面向对象的中,类与类之间存在三种关系:依赖关系.组合关系.继承关系. 1.依赖关系:将一个类的类名或对象当做参数传递给另一个函数被使用的关系就是依赖关系 class People: def __in ...

  8. Python中类的继承

    1. 单继承 继承的主要作用是实现代码的重用.继承使得子类拥有父类的方法和属性. 直接来看一个例子吧. class animal:def eat(self):print("吃")d ...

  9. Python之面向对象继承和派生

    Python之面向对象继承和派生 什么是继承: 继承是一种创建新的类的方法.在Python中,新建的类可以继承自一个或多个父类.原始类称为基类或超类. 新建的类称为派生类或子类. Python中类的继 ...

最新文章

  1. 【Java Web开发指南】云服务器部署项目供外网访问(Tomcat)
  2. 解决猴子选大王问题(用C,原创)
  3. 信息系统项目管理知识--项目质量管理
  4. C++描述的位运算总结
  5. 我们坚持专业与创新,U can U up
  6. ADF:使用HTTP POST方法进行URL任务流调用
  7. 使用ftp搭建yum源问题解决
  8. linux扩容根目录空间_Linux系统扩容根目录磁盘空间的操作方法
  9. 关于在smarty中实现省市区三级联动
  10. Struts 配置文件
  11. [DB]MariaDB 与 MySql 数据库
  12. c++ gdb 绑定源码_gdb调试g++ -g生成文件,list后不能看到源代码
  13. 怎么建立socket长连接???
  14. 纯HTML个人简历模板代码
  15. 环网柜超高频局放监测及温升在线监测系统方案
  16. 《软件体系结构原理、方法与实践》第二版期末考试复习总结
  17. 2020中兴捧月算法大赛——傅里叶赛道 第1名方案
  18. 《微微一笑很倾城》中肖奈大神说的平方根倒数速算法是什么鬼?三十分钟理解!...
  19. Xftp的下载、安装、使用
  20. XU316-1024-熙光技术

热门文章

  1. Kali常见攻击手段
  2. 三毛的诗 I 如果有来生
  3. [生而为人-思考] Knowledge Cooking 分享会记录 -1
  4. Pyramid Mask Text Detector阅读笔记
  5. day12.3 C语言初阶——求10 个整数中最大值
  6. loss函数取对数的作用和意义
  7. 5G全场景时代 战略关键转型期 华为不只要重构想象
  8. ICPC 2019 徐州网络赛
  9. 使用scikit-image feature计算图像特征与常见特征示例
  10. layui字体样式设置_layui如何自定义字体图标?(图文介绍)