<?php function __autoload($class_name) { include $class_name . '.php'; } $mallard = new MallardDuck(); $mallard->display(); $mallard->swim(); $mallard->performQuack(); $mallard->performFly(); $model = new ModelDuck(); $model->display(); $model->swim(); $model->performQuack(); $model->performFly();
class MallardDuck extends Duck { public function __construct() { $this->quackBehavior = new Qquack(); $this->flyBehavior = new FlyNoWay(); } public function display() { println("I'm a real Mallard duck"); } } println(SEPARATE, '策略模式', SEPARATE); showImgs('1.png', '1_1.png'); $mallar = new MallardDuck(); $mallar->display(); $mallar->performQuack(); $mallar->performFly(); println(); $model = new ModelDuck(); $model->display(); $model->performQuack(); $model->performFly(); #改变模型鸭的行为 println('change quack:'); $model->setQuackBehavior(new Squack()); $model->performQuack(); println(SEPARATE, 'END', SEPARATE); /** * 输出: I'm a real Mallard duck