zoukankan      html  css  js  c++  java
  • 重写父类的方法及经典类和新式类的区别

    1.父类重写的实例展示 (继承才有父类)

    # coding=utf-8

    class Zll():

             # def smile(self):

             #      print('哈哈哈')

             #      return 'aa'

             pass

    class Dcg():

             def smile(self):

                       print('啊啊啊啊啊')

    class Lw():

             def smile(self):

                       print('嘿嘿嘿')

    class Xz(Zll,Dcg,Lw):   #继承多个父类依次找父类是否有该方法,有就调用。

             def smile(self):   #重写父类的方法

                       # Dcg().smile()  #调用了父类   通过Dcg().实例化再调用。指定了父类

                       # super(Xz,self).smile()  #这个自动帮你找到父类的   super 后面写自己 和上述方法一样效果(貌似高逼格),修改父类的构造方法

                       print('呵呵呵')

    x = Xz()  #实例化

    x.smile()  #调用

    对于父类使用的两种需求:

    #1、父类的方法一点用的没有,我重新写的 比如重写smile方法。

    #2、 父类有这个方法,但是呢,它的功能不够完善,给这个方法在原有的基础上,再

    #给他添加一些新功能,比如子类中直接调用父类的方法。

    2. 经典类和新式类的区别:

          1) #pthon2里面,多继承的时候

            #经典类是深度优先,

            # 新式类是广度优先

            #python3里面都是广度优先

            2)python2 经典类里面不能用super

                python3里面经典类和新式类没有任何的区别。

    例子

    class My:

             pass

    class My2(object):   #新式类

             pass

    #python3里面没有任何的区别

    深度和广度优先(python2中)

    class A(object):      #这样就广度优先

        def x(self):

            print('A')

    class B(A):

        # def x(self):

        #     print('B')       

        pass

    class C(A):

        def x(self):

            print('C')

    class D(B,C):

        pass

    s = D()     ###  结果找B  没有就找A  最后C(深度优先,经典类)

    s.x()      ###

  • 相关阅读:
    New Concept English three (33)
    New Concept English three (32)
    New Concept English three (31)
    2017.11.03 正确查找datasheet+ 英语邮件+英语会议
    New Concept English three (30)
    PyQt(Python+Qt)学习随笔:Qt Designer中窗口对象的windowFilePath属性
    PyQt(Python+Qt)学习随笔:Qt Designer中部件的locale属性
    PyQt(Python+Qt)学习随笔:Qt Designer中部件的autoFillBackground属性
    PyQt(Python+Qt)学习随笔:Qt Designer中部件的样式表styleSheet属性
    PyQt(Python+Qt)学习随笔:Qt Designer中部件的layoutDirection属性
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102792.html
Copyright © 2011-2022 走看看