php桥接模式是什么

2026-01-20 0 67,935

说明

1、将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。

2、结构分为抽象类、被提炼的抽象类、实现类、具体实现类和客户端代码。

实例

/**
 * 颜色抽象类
 * Class Colour
 */
abstract class Colour
{
    /**
     * @return mixed
     */
    abstract public function run();
}
 
 
/**
 * 黑色
 * Class Black
 */
class Black extends Colour
{
    public function run()
    {
        // TODO: Implement run() method.
        return '黑色';
    }
}
 
 
/**
 * 白色
 * Class White
 */
class White extends Colour
{
    public function run()
    {
        // TODO: Implement run() method.
        return '白色';
    }
}
 
 
/**
 * 红色
 * Class Red
 */
class Red extends Colour
{
    public function run()
    {
        // TODO: Implement run() method.
        return '红色';
    }
}
 
 
/**
 * 形状抽象类
 * Class Shape
 */
abstract class Shape
{
    /**
     * 颜色
     * @var Colour
     */
    protected $colour;
 
 
    /**
     * Shape constructor.
     * @param Colour $colour
     */
    public function __construct(Colour $colour)
    {
        $this->colour = $colour;
    }
 
 
    /**
     * @return mixed
     */
    abstract public function operation();
}
 
 
/**
 * 圆形
 * Class Round
 */
class Round extends Shape
{
    /**
     * @return mixed|void
     */
    public function operation()
    {
        // TODO: Implement operation() method.
        echo $this->colour->run() . '圆形
';     } }     /**  * 长方形  * Class Rectangle  */ class Rectangle extends Shape {     /**      * @return mixed|void      */     public function operation()     {         // TODO: Implement operation() method.         echo $this->colour->run() . '长方形
';     } }     /**  * 正方形  * Class Square  */ class Square extends Shape {     /**      * @return mixed|void      */     public function operation()     {         // TODO: Implement operation() method.         echo $this->colour->run() . '正方形
';     } }     // 客户端代码 // 白色圆形 $whiteRound = new Round(new White()); $whiteRound->operation();   // 黑色正方形 $blackSquare = new Square(new Black()); $blackSquare->operation();   // 红色长方形 $redRectangle = new Rectangle(new Red()); $redRectangle->operation();     // 运行结果 白色圆形 黑色正方形 红色长方形

以上就是php桥接模式的介绍,希望对大家有所帮助。更多php学习指路:php教程

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 php教程 php桥接模式是什么 https://www.zhiup.top/9580.html

相关