您好,登錄后才能下訂單哦!
今天小編給大家分享一下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橋接模式實例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。