public function quack() { Utils::println("Quack!"); }
public function fly() { Utils::println("I'm flying"); }
public function quack() { Utils::println("<< Silence >>"); }
public function fly() { Utils::println("I'm flying with a rocket"); }
public function quack() { Utils::println("Squeak"); }
public function display() { Utils::println("I'm a real Mallard duck"); }
<?php require __DIR__ . '/../../vendor/autoload.php'; use Common\Utils; use Strategy\Duck; Utils::println("::Making specific duck"); $mallard = new Duck\MallardDuck(); $mallard->performQuack(); $mallard->performFly(); Utils::println("::Making model duck and changing its flying behavior"); $modelDuck = new Duck\ModelDuck(); $modelDuck->performFly(); $modelDuck->setFlyBehavior(new Duck\Behavior\FlyRocketPoweredBehavior()); $modelDuck->performFly();
public function fly() { Utils::println("I can't fly"); }