
説明する
1. 元々無関係だった 2 つのクラスを結合し、2 つのクラスのメソッドと属性を使用して新しい結果を出力します。
2. 構造は、抽象クラス、洗練された抽象クラス、実装クラス、具体的な実装クラス、およびクライアント コードに分割されます。
例
/**
* カラー抽象クラス * クラスカラー
*/
抽象クラス Color
{
/**
* @return 混合
*/
抽象パブリック関数 run();
}
/**
* ブラック * クラスブラック
*/
クラス Black は Color を拡張します
{
パブリック関数 run()
{
// TODO: run() メソッドを実装します。
「黒」を返します。
}
}
/**
*ホワイト*クラスホワイト
*/
クラス White は Color を拡張します
{
パブリック関数 run()
{
// TODO: run() メソッドを実装します。
「白」を返します。
}
}
/**
* レッド * クラスレッド
*/
クラス Red は Color を拡張します
{
パブリック関数 run()
{
// TODO: run() メソッドを実装します。
「赤」を返します。
}
}
/**
* 形状抽象クラス * クラス形状
*/
抽象クラス Shape
{
/**
* カラー * @var カラー
*/
保護された$color;
/**
* 形状コンストラクター。
* @param カラー $colour
*/
パブリック関数 __construct(Color $colour)
{
$this->color = $colour;
}
/**
* @return 混合
*/
抽象パブリック関数の操作();
}
/**
* ラウンド * クラスラウンド
*/
クラス Round extends Shape
{
/**
* @return 混合|void
*/
パブリック関数操作()
{
// TODO: Operation() メソッドを実装します。
echo $this->colour->run() 'circle<br>';
}
}
/**
* 長方形 * クラス長方形
*/
クラス Rectangle は Shape を拡張します
{
/**
* @return 混合|void
*/
パブリック関数操作()
{
// TODO: Operation() メソッドを実装します。
echo $this->colour->run() '長方形<br>';
}
}
/**
* スクエア * クラススクエア
*/
クラス Square は Shape を拡張します
{
/**
* @return 混合|void
*/
パブリック関数操作()
{
// TODO: Operation() メソッドを実装します。
echo $this->colour->run() 'square<br>';
}
}
// クライアントコード // ホワイトラウンド $whiteRound = new Round(new White());
$whiteRound->operation();
// ブラックスクエア $blackSquare = new Square(new Black());
$blackSquare->operation();
// 赤い四角形 $redRectangle = new Rectangle(new Red());
$redRectangle->operation();
//実行結果は白丸、黒四角、赤長方形以上は PHP ブリッジ モードの概要でした。皆様のお役に立てれば幸いです。