#coding=gbk
'''
Java不支持直接多继承,原因是当父类们又有同质的成员方法,子类将不知所从;
Python是支持的,但是如何处理这个困惑的?
[测试环境]:Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
@Author: HuaLingson
@Version: 1.0
'''
class I:
def Show(self, i):
print 'from I', i;
class II:
def Show(self, ii):
print 'from II', ii;
#TODO: I/II中有相同的方法Show,派生类X同时继承I/II,X未覆盖Show方法,X的实例调用Show时,来自哪个父类呢?
'''
from I miniIII
from II miniIIII
'''
#DONE: 测试说明,‘同时’继承不存在,也是分先后的,从左到右依次查找父类的方法,查到即用。
class III(I, II):
pass
miniIII = III() #xiaosan
miniIII.Show('miniIII')
class IIII(II, I):
pass
miniIIII = IIII() #xiaosi
miniIIII.Show('miniIIII')
Python的多继承
最新推荐文章于 2023-09-24 12:18:50 发布