假设我有一对相互引用的实例。有没有比以下更好的方式来构建这种关系。Python中相互引用的实例
class Human():
def __init__(self, name):
self.name = name
self.pet = Dog('Sparky', self)
def pet(self, animal):
self.pet.receive_petting()
class Dog(Pet):
def __init__(self, name, owner):
self.name = name
self.owner = owner
def receive_petting(self):
pass
def bark_at(self, person):
"do something"
我不喜欢的事情是,关系需要在两个地方指定。任何想法如何使这台烘干机?
真的没有什么特定于Python的;这只是基于构造函数的依赖注入的限制。您可以使用“承诺”并在第一次解除引用时填写属性。 – 2015-02-09 22:56:19