温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php桥接模式实例分析

发布时间:2022-05-12 14:17:46 来源:亿速云 阅读:507 作者:iii 栏目:大数据

今天小编给大家分享一下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() . '圆形<br>';     } }     /**  * 长方形  * Class Rectangle  */ class Rectangle extends Shape {     /**      * @return mixed|void      */     public function operation()     {         // TODO: Implement operation() method.         echo $this->colour->run() . '长方形<br>';     } }     /**  * 正方形  * Class Square  */ class Square extends Shape {     /**      * @return mixed|void      */     public function operation()     {         // TODO: Implement operation() method.         echo $this->colour->run() . '正方形<br>';     } }     // 客户端代码 // 白色圆形 $whiteRound = new Round(new White()); $whiteRound->operation();   // 黑色正方形 $blackSquare = new Square(new Black()); $blackSquare->operation();   // 红色长方形 $redRectangle = new Rectangle(new Red()); $redRectangle->operation();     // 运行结果 白色圆形 黑色正方形 红色长方形

以上就是“php桥接模式实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI