【发布时间】:2025-12-20 11:00:06
【问题描述】:
假设有一个类 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 中,一切都会按我的意愿工作。
这就像我只想继承源代码而不是整个命名空间。也许继承是错误的方式?
【问题讨论】:
-
你的问题还不清楚。请尝试提供更多的清晰度。您的期望和问题是什么?
标签: python python-3.x oop inheritance namespaces