预先感谢您的帮助,有点像是业余爱好者,并尝试使用OOP完成我的第一个大型项目。
我有四节课。其中三个类始终需要了解另一类的一个特定实例。
我以为继承是解决我的问题的方法,但很快意识到这不是-我认为聚合更合适吗?谁能告诉我这是否是最合适的实现方法?
class Foo:
def __init__(self, some_data):
self.data = some_data
class Bar:
def __init__(self, foo_instance):
self.foo = foo_instance
class Fizz:
def __init__(self, foo_instance):
self.foo = foo_instance
class Wizz:
def __init__(self, foo_instance):
self.foo = foo_instance
foo = Foo("foobar")
bar = Bar(foo)
fizz = Fizz(foo)
wizz = Wizz(foo)
还是应该在Foo类中定义Bar,Fizz和Wizz类?
答案 0 :(得分:0)
这取决于您要实现的目标。成员表示具有关系。 Foo
有一个Bar
还是Bar
有一个Foo
?
例如,Pet
是否拥有所有者(Person
)或Person
是否拥有Pet
?这取决于您将要做的事情:是要知道Pet
的所有者是谁,还是想知道Pet
的所有者Person
。