1. 单继承

继承的主要作用是实现代码的重用。继承使得子类拥有父类的方法属性
直接来看一个例子吧。

class animal:def eat(self):print("吃")def drink(self):print("喝")class dog(animal):def dark(self):print("汪汪叫")goudan = dog()
goudan.eat()
goudan.drink()

从上面的代码可以看出,在编写dog类的时候,我们并没有重写eatdrink两个方法。我们只需要在dog后面的括号中加上父类的名字即可。当子类继承了父类,子类就可以直接使用父类中的方法了。在本例中,goudan可以直接使用animal类中的eatdrink两个方法。
而且一个神奇的事情是,继承是具有传递性的。子类拥有父类的方法和属性,同时也具有父类的父类所具有的属性。

2. 继承中的方法重写

有时候,父类中的方法并不能完成满足子类的需求。这时候我们就需要方法重写了。子类方法重写一般有两种情况:

  • 覆盖父类的方法
  • 对父类的方法进行扩展

一种简单的方法是直接重写相应的方法。下面这个例子就是重写了drink这个方法。当使用goudan调用drink这个方法方法时,结果并不是而是拿舌头喝水

class animal:def eat(self):print("吃")def drink(self):print("喝")class dog(animal):def drink(self):print("拿舌头喝水")def dark(self):print("汪汪叫")goudan = dog()
goudan.eat()
goudan.drink()

当我们的需求不是简单的覆盖父类中的方法,而是在父类方法的基础上对方法进行扩展。具体的做法是:

  1. 在需要的位置使用super().父类方法 来调用父类方法的执行
  2. 代码的其他位置针对子类的需求,编写子类持有的代码实现

我们来看一个例子,此时goudan在调用drink方法的时候,会输出拿舌头喝水两个输出。

class animal:def eat(self):print("吃")def drink(self):print("喝")class dog(animal):def drink(self):# 1. 根据子类的需求编写特定的代码print("拿舌头喝水")# 2. 使用super继承父类中的fangfasuper().drinkdef dark(self):print("汪汪叫")goudan = dog()
goudan.eat()
goudan.drink()

3. 多继承

对于Python而言,一个子类可以有多个父类。多继承的基本语法是比较简单的。话不多说,直接看一个例子

class A():def test(self):print("test")class B():def demo(self):print("demo")class C(A,B):passc = C()
c.test()
c.demo()

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 中的类和对象,详细请见http://blog.csdn.net/m0_37324740/article/details/76144902,Python 提供了类的继 ...

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

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

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

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

最新文章

  1. sogou ubuntu安装(最后还是失败了,最近老失败,不知道为啥)
  2. BZOJ2690: 字符串游戏(平衡树动态维护Dfs序)
  3. 字符转换工具,仿牛族字符转换
  4. Lyft 基于 Flink 的大规模准实时数据分析平台(附FFA大会视频)
  5. Train Problem I(STL)基本运用stack
  6. CodeMirror使用说明书
  7. IE8 正式版官方下载链接
  8. Git 技术篇 - github镜像推荐,无需翻墙实现飞速访问github官网
  9. 10g recyclebin与用户表空间限额
  10. js身份证号正则判断
  11. html5 video播放按钮放在中间,在html5视频控制区跟踪点击播放按钮(Track clicks to play button in html5 video control area)...
  12. Regulator子系统
  13. 网管软件哪家比较好用
  14. 面试题测试APP汇总:快快来收藏起来背背吧
  15. 学校部门申请成立计算机中心,学生计算机社团成立申请书
  16. DBCO-PEG-NHS,NHS-PEG-DBCO,二苯并环辛炔-聚乙二醇-活性酯,DBCO-PEG衍生物
  17. Linux(Ubuntu14.04)虚拟机镜像的制作过程
  18. 【数组(Array)】
  19. elementUI更改icon图标尺寸、圆形按钮尺寸方法,以及css修改页面没变化为题
  20. PorterDuffXfermode的初级使用

热门文章

  1. 我的创作纪念日 -- 2022年7月25日
  2. 20190502(OSI七层模型理解/Websocket理解/)
  3. 数据结构-二叉树(统计二叉树的结点个数递归与非递归算法)
  4. Android单元测试 > 整理分享
  5. 购债计划推出,欧元延续反弹
  6. R语言初学——包的应用
  7. imgaug数据增强神器:第一章 加载和增强图像
  8. Apache Shiro 身份认证绕过漏洞(CVE-2022-32532)漏洞复现
  9. 国产文档控件Spire.Doc for.NET ,增强从 Word 到 PDF 和 HTML 的转换
  10. Spring Boot Mock