【发布时间】:2020-11-16 16:07:09
【问题描述】:
我正在计划一个 Python 项目。我将拥有使用其他类实例的类。是否可以从另一个类中覆盖/扩展方法,如下所示:
class Foo:
a = Bar()
b = Bar()
c = Bar()
class Baz:
x = Bar()
y = Bar()
z = Bar()
class Qux:
p = Bar()
q = Bar()
r = Bar()
class Bar:
def __init__(self):
pass
def do_something():
# Thing to do
Baz.x.do_something() # Does the same thing
Qux.p.do_something() # Does the same thing
Foo.a.do_something() # Does something slightly different
稍有不同的行为将取决于 Foo 类实例,因此我无法在 Bar 类中为其创建新方法。 注意 Bar 的大部分行为都是一样的。我只想在 Foo.a.do_something() 中多做一步
【问题讨论】:
标签: python class methods overriding instance