• 菜鸟说python中的继承


    python支持面向对象的编程风格,这里主要说说python中的多继承:
    下面的代码使用python2.4,安装后使用idle的IDE开发环境(说是IDE ,比起delphi,VS.net等简单得太多了)
    从File-New菜单建立一个.py文件,写下面的代码:
    class SuperClass:
        def sample(self):
            print 'SuperClass'
    class SubClass(SuperClass):
        pass
    sub = SubClass()
    sub.sample()
    要先保存,再按F5执行,在idle的主窗口显示:
    >>> ================================ RESTART ================================
    >>>
    SuperClass
    >>>
    子类调用了父类的sample方法,现在修改代码,如下:
    class SuperClass:
        def sample(self):
            print 'SuperClass'
    class SuperClass1:
        def sample(self):
            print 'SuperClass1'
    class SubClass(SuperClass,SuperClass1):
        pass
    sub = SubClass()
    sub.sample()

    运行代码,看到的结果和上面的是一样的,这里子类调用的第一个父类的sample方法,第二个父类的不被调用,
    现在知道下面要说什么了吧,把SubClass类的声明改成:
    class SubClass(SuperClass1,SuperClass):
        pass

    运行,看到的结果是SuperClass1的sample方法被调用。
    >>> ================================ RESTART ================================
    >>>
    SuperClass1
    >>>
    到这里,可以看出在多继承的情况下,父类中的相同方法在子类中会调用类声明的第一个父类的方法。

  • 相关阅读:
    有向无环图
    2016
    Permutation Descent Counts(递推)
    Rikka with Subset
    hihoCoder 1549 或运算和
    Young Maids
    1925: [Sdoi2010]地精部落
    Problem H. Hotel in Ves Lagos
    改变presentModalView大小
    no such file to load -- bundler/setup
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/111006.html
Copyright © 2020-2023  润新知