Skip to content

Commit d65c53d

Browse files
authored
Merge pull request #7 from dancergraham/feature/strategy
feature: Complete the duck simulator code
2 parents e7dfdcb + 51c7667 commit d65c53d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

chapter01_strategy/duck.py

+24
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ def display(self):
6969
print("I'm a real Mallard duck")
7070

7171

72+
class DecoyDuck(Duck):
73+
_fly_behavior = FlyNoWay()
74+
_quack_behavior = MuteQuack()
75+
76+
def display(self):
77+
print("I'm a duck Decoy")
78+
79+
7280
class ModelDuck(Duck):
7381
_fly_behavior = FlyNoWay()
7482
_quack_behavior = Squeak()
@@ -77,6 +85,22 @@ def display(self):
7785
print("I'm a real Mallard duck")
7886

7987

88+
class RedHeadDuck(Duck):
89+
_fly_behavior = FlyWithWings()
90+
_quack_behavior = Quack()
91+
92+
def display(self):
93+
print("I'm a real Red Headed duck")
94+
95+
96+
class RubberDuck(Duck):
97+
_fly_behavior = FlyNoWay()
98+
_quack_behavior = Squeak()
99+
100+
def display(self):
101+
print("I'm a rubber duckie")
102+
103+
80104
def mini_duck_simulator():
81105
mallard = MallardDuck()
82106
mallard.perform_quack()

0 commit comments

Comments
 (0)