Example #1
0
<?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();
Example #2
0
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