有点不切实际假设情况的所有方法,但:简单的方法重载一个类
说我有一个新的类Foo
我写它构造被用作输入参数为现有类Bar
对象。 Foo
旨在为Bar
添加一些功能,但我不希望它干扰我已有的任何现有作业。例如。我想非常小心,我不会影响使用Bar
的任何现有作业,因为现有作业写入的数据应该连续/一致。
假设无论出于何种原因,我无法将kwarg foo=None
添加到Bar
的构造函数中。或者我可以,但这将是一个巨大的麻烦。我想要做的是给它一个Foo
的例子,它什么都不做。
是否有一个非常简单的方法来重载Foo
的所有方法,以便它们什么都不做?或者我会被迫编码每种方法如
class DummyFoo(Foo):
def __init__(*args, **kwargs):
pass
def method1(*args, **kwargs):
pass
def method2(*args, **kwargs):
pass
etc?
看起来你会打破替代原则,不是吗? – njzk2
在大多数情况下,可能。在我激发这个问题的情况下,我不会。 – Batman
你只需要这个功能?还是针对所有实例/类属性? –