说明
1、将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。
2、结构分为抽象类、被提炼的抽象类、实现类、具体实现类和客户端代码。
实例
abstract class Colour{ abstract public function run();} class Black extends Colour{ public function run() { // TODO: Implement run() method. return '黑色'; }} class White extends Colour{ public function run() { // TODO: Implement run() method. return '白色'; }} class Red extends Colour{ public function run() { // TODO: Implement run() method. return '红色'; }} abstract class Shape{ protected $colour; public function __construct(Colour $colour) { $this->colour = $colour; } abstract public function operation();} class Round extends Shape{ public function operation() { // TODO: Implement operation() method. echo $this->colour->run() . '圆形
'; }} class Rectangle extends Shape{ public function operation() { // TODO: Implement operation() method. echo $this->colour->run() . '长方形
'; }} class Square extends Shape{ 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桥接模式的介绍,希望对大家有所帮助。