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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值