擅长:python、mysql、java
<pre><code># define a common interface any food should have and implement
class IFood:
def bake(self): pass
def eat(self): pass
class Bread(IFood):
def bake(self):
print("Bread was baked")
def eat(self):
print("Bread was eaten")
class Pastry(IFood):
def bake(self):
print("Pastry was baked")
def eat(self):
print("Pastry was eaten")
class Production:
def __init__(self, food): # food now is any concrete implementation of IFood
self.food = food # this is also dependnecy injection, as it is a parameter not hardcoded
def produce(self):
self.food.bake() # uses only the common interface
def consume(self):
self.food.eat() # uses only the common interface
</code></pre>
<p>使用它:</p>
<pre><code>ProduceBread = Production(Bread())
ProducePastry = Production(Pastry())
</code></pre>