ホームページ >バックエンド開発 >PHPチュートリアル >PHPオブジェクト指向プログラミングにおける組み合わせ関係を解析する
PHP オブジェクト指向プログラミングにおける結合関係の分析
結合関係とは、オブジェクト指向プログラミングで一般的に使用される関係パターンであり、オブジェクトが次の内容を含むことを記述します。その他のオブジェクト ケース。 PHP では、構成関係はクラス属性を使用して実装されます。
この記事では、PHP における構成関係の概念について説明し、コード例を通じて構成関係を実装および使用する方法を説明します。
構成関係の概念は、あるクラスのインスタンス オブジェクトが別のクラスのインスタンス オブジェクトを含む状況を指します。この関係は強い依存関係であり、含まれるオブジェクトは一般に分割できない全体です。組み合わせ関係を使用して、より複雑なオブジェクトの構造と機能を記述することができます。
Car
と Engine
という 2 つのクラスがあるとします。 Car
クラスは車を表し、Engine
クラスは車のエンジンを表します。車のインスタンスにはエンジン インスタンスが含まれている必要があり、エンジン インスタンスは複数の車のインスタンスで共有できます。これは典型的な組み合わせ関係です。
最初に、Engine
クラスを定義する必要があります:
class Engine { private $capacity; public function __construct($capacity) { $this->capacity = $capacity; } public function start() { echo "Engine started "; } public function stop() { echo "Engine stopped "; } }
Engine
このクラスにはプライベート属性 $capacity
があります。 、エンジンの排気量を表します。また、エンジン容量を初期化するためのコンストラクター メソッド __construct()
と、エンジンを開始および停止するための start()
および stop()
メソッドもあります。
次に、Car
クラスを定義し、Engine
クラスをこのクラスの属性として配置します。
class Car { private $engine; public function __construct(Engine $engine) { $this->engine = $engine; } public function start() { echo "Car started "; $this->engine->start(); } public function stop() { $this->engine->stop(); echo "Car stopped "; } }
In Car
このクラスでは、車のエンジンを表すプライベート属性 $engine
を定義します。コンストラクター メソッド __construct()
は、Engine
インスタンスをパラメーターとして受け取り、それを $engine
プロパティに割り当てます。 start()
メソッドは最初に「Car starting」を出力し、次に $engine
の start()
メソッドを呼び出します。 stop()
メソッドは、最初に $engine
の stop()
メソッドを呼び出し、次に「Car stop」を出力します。
これで、Engine
と Car
のインスタンスを作成して使用できるようになります。
$engine = new Engine(2000); $car = new Car($engine); $car->start(); // 输出 "Car started" 和 "Engine started" $car->stop(); // 输出 "Engine stopped" 和 "Car stopped"
上記のコードでは、最初に An #容量 2000 の ##Engine インスタンスを作成し、それを
Car クラスのコンストラクター メソッドに渡して
Car インスタンスを作成します。
$car オブジェクトの
start() メソッドと
stop() メソッドを使用して車を開始および停止できます。これらのメソッドは内部
$ を呼び出します。 Engine オブジェクトの
start() メソッドと
stop() メソッド。
以上がPHPオブジェクト指向プログラミングにおける組み合わせ関係を解析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。