python继承中,如果子类在调用某个方法时,它首先是从派生类(也就是当前类)中去找对应的方法,如果当前类中找不到对应的方法,就会去基类(派生类)中去逐个查找。

若父类的方法不能满足子类的需要,那么子类就可以重写或者完善父类的方法。

例如:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# coding=utf-8
class Father():def smile(self):print('哈哈哈')class Son(Father):def smile(self):   #重写父类的方法Father().smile()  #调用了父类,这种属于在父类的基础上完善父类的方法,若不调用父类的smile()方法就属于完全舍弃父类的此功能来重写这个方法super(Son,self).smile()#这个是自动找到父类中的smile方法,如果继承了多个父类,那么会按照继承的父类的顺序去一个一个找print('呵呵呵')
s= Son()
s.smile()

如果继承了多个父类,多个父类中都有子类要重写完善的方法,那么可以使用上面的Father().smile()调用,也可以使用一个逼格较高的super来调用,super会从继承的父类里一个一个去找,先在哪个类里找到就继承哪个类里的该方法。代码如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# coding=utf-8
class Zll():# def smile(self):#     print('哈哈哈')class Dcg():def smile(self):print('啊啊啊啊啊')class Lw():def smile(self):print('嘿嘿嘿')class Xz(Zll,Dcg,Lw):def smile(self):   #重写父类的方法# Dcg().smile()  #调用了父类# super(Xz,self).smile()  #这个自动帮你找到父类的,如果这样写会按继承顺序,Zll、Dcg、Lwy一个一个去找,先在哪个类中找到就先使用哪个类里的smile方法print('呵呵呵')
x = Xz()
x.smile()

Python 重写父类方法相关推荐

  1. Java中重写父类方法

    package four; //定义一个类 class Animals{String name;void shout(){System.out.println("动物发出叫声"); ...

  2. 关于子类重写父类方法的问题

    关于访问修饰符对重写父类方法的影响 结论 代码样例 子类 结论 子类重写父类的方法: 1.父类中私有方法不能被重写.因为父类私有方法子类可理解为被子类继承,但是不被子类可见,不可访问,当然就无法重写了 ...

  3. Dart中类的静态方法,继承,重写父类方法

    一.静态成员和静态方法 class Person {//1.在变量或者方法最前面增加static关键字就是静态方法或者静态属性了; //2.静态方法和静态属性只能使用类才能进行调用,相当于OC中的加号 ...

  4. 子类重写父类方法,调用时会调用子类重写之后的方法

    1, 以下代码执行的结果显示是多少( )? public class Demo {class Super{ int flag=1;Super(){test();}void test(){System. ...

  5. java多态实现示例,以及子类重写父类方法调用父类方法

    多态 多态存在的三个必要条件:继承,重写,父类引用指向子类对象, 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则error:如果有,调用子类的同名方法. example: pack ...

  6. 子类重写父类方法时权限修饰符的关系

    子类在重写父类方法时,必须拥有不小于父类的权限. 例如如下示例: public class TestPriority {protected int method1(int a, int b){retu ...

  7. java重写父类方法_重写父类方法

    在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写.需要注意的是,在子类中重写的方法需要和父类被重写的方法具有相同的方法名.参数列表以及返 ...

  8. Java 学习之路 重写父类方法

    文章目录 重写父类方法 举例(一) 举例(二) 重写父类方法 子类扩展了父类,子类是一个特殊的父类.一般使用中,子类总是以父类为基础,额外增加成员变量和方法. 但是,有的时候需要重写父类的方法!回忆之 ...

  9. JAVA重写父类方法

    方法的重写需要遵循"两同两小一大"的规则--"两同":方法名相同,形参列表相同:"两小":指的是子类方法返回类型应比父类方法返回类型更小或者 ...

最新文章

  1. Hibernate配置文件,省的到处找了
  2. PostgreSQL创建一个数据库
  3. BigData之Storm:Apache Storm的简介、深入理解、下载、案例应用之详细攻略
  4. SpringBoot中用itext实现PDF导出时实现循环添加元素
  5. spark on k8s报错:pods “spark-pi-4f2cd9772397764d-driver“ is forbidden: User “system:anonymous“
  6. 2019牛客暑期多校训练营(第三场)J - LRU management (模拟+list+unorder_map)
  7. 倒计时7天:招行、平安齐聚DTC 2019之金融峰会,讲师议题抢先看
  8. o'Reill的SVG精髓(第二版)学习笔记——第四章
  9. 基于深度学习的单目图像深度估计
  10. 重装系统 winserver2008 R2 激活以及优化
  11. 计算机论文答辩2分钟演讲稿,论文答辩演讲稿
  12. HBuilderX安装教程
  13. 量子计算机大致原理,通俗简介量子计算机原理
  14. numpy.ones用法
  15. 报表工具ActiveReports开发实例——物联网智能供水云平台
  16. 工业机器人工具中心点标定的意义_如何理解工业机器人的工具中心点(TCP)?...
  17. 计算机的用户账户无法更改密码,windows不能更改密码怎么办【解决方法】
  18. JavaWeb正则表达式2-不情愿模式
  19. Arun Jaitley:要健康最好让银行保持增长势头
  20. strtoupper php 中文,strtoupper来导致中文乱码么

热门文章

  1. 一个SQL性能问题的优化探索(二)(r11笔记第38天)
  2. Redis数据类型操作(五) —— Sorted Set
  3. 实验0:了解和熟悉操作系统
  4. SQL Server 2008概述(一)
  5. Apache防DDOS模块mod_evasive的安装配置和使用
  6. [转]默认构造函数的作用
  7. 网管日志-06.07.12
  8. 发现一个问题,可能是Sql Express 2005的Bug
  9. rog live service是什么_王者荣耀日活跃用户破亿!ROG游戏手机助力水友赛进入4强争夺...
  10. 【ABAP】如何根据PR号删除PM单的组件