diamond.py 459 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. """
  2. 多重继承
  3. - 菱形继承(钻石继承)
  4. - C3算法(替代DFS的算法)
  5. Version: 0.1
  6. Author: 骆昊
  7. Date: 2018-03-12
  8. """
  9. class A(object):
  10. def foo(self):
  11. print('foo of A')
  12. class B(A):
  13. pass
  14. class C(A):
  15. def foo(self):
  16. print('foo fo C')
  17. class D(B, C):
  18. pass
  19. class E(D):
  20. def foo(self):
  21. print('foo in E')
  22. super().foo()
  23. super(B, self).foo()
  24. super(C, self).foo()
  25. if __name__ == '__main__':
  26. d = D()
  27. d.foo()
  28. e = E()
  29. e.foo()