• 菜鸟说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
    >>>
    到这里,可以看出在多继承的情况下,父类中的相同方法在子类中会调用类声明的第一个父类的方法。

  • 相关阅读:
    2822 爱在心中
    P1707 刷题比赛
    1269 匈牙利游戏
    1482 路线统计
    Codevs 1287 矩阵乘法&&Noi.cn 09:矩阵乘法(矩阵乘法练手题)
    P2022 有趣的数
    1087 麦森数
    P1111 修复公路
    python为在线漫画站点自制非官方API(未完待续)
    逻辑运算0==x和x==0具体解释
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/111006.html
Copyright © 2020-2023  润新知