Python 经典类多继承的问题

废话不多说,代码如下:

#经典类 采用 DFS 深度优先,寻找方法
#但是 使用 A(Object) 新式类 之后 就会采用 广度优先BFS 寻找方法 
class A:
    def save(self):
        print "我是A 保存方法"

class B(A):
    def __init__(self):
        print 'This is B'

class C(A):
    def save(self):
        print '我是C的保存方法'


# 这里如果把 B 写前面,那么会先对B 进行 深度优先寻找方法,那么也就会 去 B 继承的A里面 去找, 当找不到的时候,再去C里面寻找
class D(B, C):
    def __init__(self):
        print 'This is D'

d = D()
# 这里不会调用到C的保存方法
d.save()



#输出结果:
我是A 保存方法
一门语言的设计是为了满足某种需求的,Swift 要起来的感觉
    原文作者:猫爪
    原文地址: https://www.jianshu.com/p/93288e1fc393
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞