【发布时间】:2020-12-30 16:08:35
【问题描述】:
我在 Python 中有以下类继承:
A
|
B--D
| |
C E
困扰我的是,我在 C 和 E 中有很多重复的类方法。如果我将 E 设为 C 而不是 D 的子级,则可以避免这种情况,但是我必须在 E 中复制 D 的方法。
有没有办法让 E 继承 D 和 C 以使 E 具有 C 和 D 的功能?
【问题讨论】:
-
class E(C,D):...? -
是的,Python 允许多重继承。
-
或将共享代码移动到另一个类中并从中派生出两个类
-
@SibbsGambling 搜索MRO,即方法解析顺序
-
如果你使用
super,每个类都应该使用super。每个单独类的__init__方法的调用顺序取决于最终的方法解析顺序。
标签: python