【发布时间】:2019-05-07 20:02:25
【问题描述】:
在 Python 中,我有一个 ParentClass 类。它定义了方法 ParentClass.process() 等等。 ParentClass 由两个子类继承:ChildA 和 ChildB。这是系统的一部分,作为一个点轮。用户应该不能更改包的代码。
在执行过程中,系统会创建 ChildA 和 ChildB 的对象。
现在,我想让系统用户能够更改 ChildA 和 ChildB 对象的 .process() 方法的行为。
显然,她可以通过重新定义 ChildA.process() 和 ChildB.process() 来做到这一点,但这将复制相同的行为两次,总体而言,这似乎是一种非常奇怪的方法。
用户可以从 ParentClass 继承她自己的类并在那里重新定义 .process() 但这意味着我需要以某种方式动态地告诉 ChildA 和 ChildB 继承什么。
此外,所有类(ParentClass、ChildA 和 ChildB)都有其他方法,除了 .process(),需要保留而无需更改。
请帮助我找出最方便用户(可能也是最“pythonic”)的解决方法。
【问题讨论】:
标签: python class oop inheritance