<p>我认为在这种情况下你不需要使用构图</p>
<pre><code>class MyDog:
def __init__(self, count=None, foods=None, breeds=None):
"""
Parameters
count : int
foods : list , for example: ['rice', 'vegetable']
breeds : list of dictionary, for example [ {'name': x, 'origin': y}, ]
"""
self.count = count
self.__initialize_foods__(foods)
self.__initialize_breeds__(breeds)
def __initialize_foods__(self, foods):
if foods is None:
self.foods = []
else:
self.foods = foods
def __initialize_breeds__(self, breeds):
if breeds is None:
self.breeds = []
else:
self.breeds = breeds
def eat_food(self, food=None):
self.foods.append(food)
def eat_foods(self, foods=None):
self.foods = foods
def breed(self, breed=None):
self.breeds.append(breed)
def breeds(self, breeds=None):
self.breeds = breeds
type1 = {"name": "new_type", "origin": "mexico"}
type2 = {"name": "hulk", "origin": "usa"}
myDog = MyDog(1, ["rice", "beef"], [type1, type2])
</code></pre>