千家信息网

php桥接模式实例分析

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,今天小编给大家分享一下php桥接模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
千家信息网最后更新 2025年01月23日php桥接模式实例分析

今天小编给大家分享一下php桥接模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

说明

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桥接模式实例分析"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0