菱形问题出现在当一个类从两个拥有共同祖先的类继承时,这会产生歧义:如果两个中间类都重写了一个方法(或持有一个字段),那么底部的类会得到哪个版本?
菱形结构
text
A (defines greet())
/ \
B C (each may override greet())
\ /
D ← inherits from B and C: which greet()?
在 Python 中(支持多重继承)
python
:
():
():
():
():
():
(B, C):
(D().greet())
(D.__mro__)
