溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是php橋接模式

發(fā)布時(shí)間:2021-07-02 16:14:42 來源:億速云 閱讀:161 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“什么是php橋接模式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“什么是php橋接模式”吧!

說明

1、將兩個(gè)原本不相關(guān)的類結(jié)合在一起,然后利用兩個(gè)類中的方法和屬性,輸出一份新的結(jié)果。

2、結(jié)構(gòu)分為Abstraction抽象類、RefindAbstraction被提煉的抽象類、Implementor實(shí)現(xiàn)類、ConcreteImplementor具體實(shí)現(xiàn)類 、Client客戶端代碼。

實(shí)例

/**
 * 顏色抽象類
 * 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>';
    }
}
 
 
/**
 * 長(zhǎng)方形
 * Class Rectangle
 */
class Rectangle extends Shape
{
    /**
     * @return mixed|void
     */
    public function operation()
    {
        // TODO: Implement operation() method.
        echo $this->colour->run() . '長(zhǎng)方形<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();
 
// 紅色長(zhǎng)方形
$redRectangle = new Rectangle(new Red());
$redRectangle->operation();
 
 
// 運(yùn)行結(jié)果
白色圓形
黑色正方形
紅色長(zhǎng)方形

到此,相信大家對(duì)“什么是php橋接模式”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI