zoukankan      html  css  js  c++  java
  • 面向对象-重写父类方法

    继承父类方法的几种方式:

    一.重写父类的方法:

    父类:

    class Zll():   #父类
        def smile(self):
            print('哈哈哈')

    子类:

    class Xz(Zll):
        def smile(self):  #拥有与父类相同的方法,即重写父类的方法
            print('呵呵呵呵')

    二.重写父类方法:在父类基础上,再加新的功能:

    方式一:可通过调用父类方法,然后再写自己的方法来实现(特征:父类有这个方法,但是它的功能不够完善,给这个方法在原有基础上再添加一些新功能)。

    子类:

    class Xz(Zll):
        def smile(self):  #先重写父类的方法
            Zll().smile()   #,先实例化Zll(),调用了父类方法
            print('呵呵呵呵')  #然后再加入自己方法的内容

    方式二:可通过调用父类方法,然后再写自己的方法来实现(特征:父类有这个方法,但是它的功能不够完善,给这个方法在原有基础上再添加一些新功能)。

    用super()来实现

    子类:super(自己的类名,self)

    class Xz(Zll):
        def smile(self):  #先重写父类的方法
            super(Xz,self).smile()  #这个自动帮你找到父类,然后调用相同的方法,所以存在多个父类时,有差别,请看下面分解
            print('呵呵呵呵')  #然后再加入自己方法的内容

    三.多继承:多继承时,直接用父类实例化.方法来调用,即:Zll().smile(),要分别指出调用哪个父类的方法

    # 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):   #重写父类的方法
            Zll().smile()  #调用Zll的smile方法
            Dcg().smile()  #调用Dcg的smile方法,即分别写调用哪个父类方法
            print('呵呵呵')  #自己的方法

    使用super()来写,修改父类方法(比较常见):

    # 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):   #重写父类的方法
            super(Xz,self).smile()  #这个自动帮你找到父类,如果多个父类有相同的方法时,默认继承第一个相同方法
            print('呵呵呵')  #自己的方法
  • 相关阅读:
    关于sharepoint组里面有哪些成员
    如何在ProjectServer用代码修改用户属性?
    Project Server的Psi汇总
    Sharepoint Two Webpart Connect
    TQ6410_V3 wince6.0系统 调试口改普通串口方法
    流方式文件读写(简单实现)
    Django 框架请求响应流程图
    Silverlight项目基本文件结构
    Ext.DomHelper类的使用示例(内容操作)
    利用urllib2获取请求头部信息
  • 原文地址:https://www.cnblogs.com/fancyl/p/9100506.html
Copyright © 2011-2022 走看看