桥接模式

2017-07-12  本文已影响22人  零一间

<?php

/**
 * 桥接模式
 */

/**抽象化角色
 */
abstract class AbstractRoad
{
    abstract function Run(ICar $car);
}

/**
 * 速公路
 */
class SpeedRoad extends AbstractRoad
{
    function Run(ICar $car)
    {
        $car->Run();
        echo ":在高速公路上。";
    }
}

/**
 * 乡村街道
 */
class Street extends AbstractRoad
{
    function Run(ICar $car)
    {
        $car->Run();
        echo ":在乡村街道上。";
    }
}

/**
 * 抽象汽车接口
 */
interface ICar
{
    function Run();
}

/**
 * 吉普车
 */
class Jeep implements ICar
{
    function Run()
    {
        echo "吉普车跑";
    }
}

/**
 * 小汽车
 */
class Car implements ICar
{

    function Run()
    {
        echo "小汽车跑";
    }
}


//吉普车跑:在高速公路上。
$obj=new SpeedRoad();
$obj->Run(new Jeep());

/*
 * 可参考:http://blog.csdn.net/jhq0113/article/details/45441793
 */
上一篇 下一篇

猜你喜欢

热点阅读