假设有一个类
现在我想在继承版本的
NiceClass
在某个我无法编辑的地方使用了另一个类LesserClass
。# NiceClass.py
class LesserClass:
...
# stuff
...
class NiceClass:
...
# Lots of use of lesser class in here...
...
现在我想在继承版本的
NiceClass
中,使用自己的类 MyLesserClass
替代原来的 LesserClass
。# MyNiceClass.py
from NiceClass import NiceClass
from NiceClass import LesserClass as oldLesserClass
class LesserClass(oldLesserClass):
...
# Some extra stuff
...
class MyNiceClass(NiceClass):
...
# Everywhere LesserClass was used I now want to use MyLesserClass
...
但是,MyNiceClass
中所有未被覆盖的方法都将使用旧版 NiceClass.py
中的 LesserClass
。
如果我只是将整个 NiceClass
的定义复制粘贴到 MyNiceClass.py
中,那么一切都会按照我的意愿进行。
这就像我只想继承源代码而不是整个命名空间。也许继承并不是正确的方法?