ホームページ >バックエンド開発 >PHPチュートリアル >PHPデザインパターン学習シリーズ(7) ~プロトタイプオブジェクト~

PHPデザインパターン学習シリーズ(7) ~プロトタイプオブジェクト~

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-29 08:57:27860ブラウズ

声明: この一連のブログの参考資料は、Cheng Jie 著の「Dahua Design Pattern」です。

プロトタイプ インスタンスを使用して、作成するオブジェクトのタイプを指定し、これらのプロトタイプを コピー して、 新しい オブジェクトを作成します。 プロトタイプ モードでは、作成方法の詳細を知らなくても、オブジェクトが別のカスタマイズ可能なオブジェクトを作成できます。 作成するオブジェクトにプロトタイプ オブジェクトを渡すことによって、このオブジェクトが作成されます。プロトタイプオブジェクトから自分自身のコピーをリクエストすることによって作成されます。直面する主な問題は、「複雑な構造を持つ一部のオブジェクト」の作成です。要件の変更により、これらのオブジェクトはしばしば大幅な変更に直面しますが、比較的安定した一貫したインターフェイスを持っています。 PHP では、クラスはプロトタイプ モード P を実装しました。 HP には、そのようなオブジェクトのクローンを作成するマジック メソッド __clone () メソッドがあります。 M u UML クラス図を見てください:

文字分析:


1. 抽象プロトタイプ、クローンインターフェイスを提供します

2. 特定のプロトタイプ、クローンインターフェイスを実現します

具体的なコード: PHPデザインパターン学習シリーズ(7) ~プロトタイプオブジェクト~

[php] ビュー 無地

コピー

印刷?

/**抽象プロトタイプクラスPHPデザインパターン学習シリーズ(7) ~プロトタイプオブジェクト~ * クラスプロトタイプPHPデザインパターン学習シリーズ(7) ~プロトタイプオブジェクト~

*/
  1. 要約 クラス
  2. プロトタイプ {
  3. abstract functioncloned();
  4. /**特定のプロトタイプクラス * クラスプレーン
  5. */
  6. クラス 平面
  7. 拡張 プロトタイプ
  8. {
  9. public $ color ;
  10. 機能
  11. }
  12. functioncloned()
  13. }クライアントテストコード: 無地
  14. コピー
  15. 印刷?
    1. header("Content-Type:text/html;charset=utf-8");
    2. //--------------- - ----------プロトタイプ モードのテスト コード---------------------
    3. require_once "./Prototype /プロトタイプ .php";
    4. $plane1=new Plane(); ->color=
    5. "青" ; $plane2
    6. =
    7. $plane1
    8. ->cloned();
    9. $plane1 ->フライ( )>カラー} ";
    10. echo
    11. "plane2 の色: {$plane2->color}
      "
      ;
    12. これはプロトタイプ モードの核となるアイデアにすぎません。実際、実際の開発では直接クローンを作成できます。
    13. $plane2=クローン $plane1;
    14. $plane2->Fly();
    15. $plane2->color; 以上、PHPデザインパターン学習シリーズ(7回)~プロトタイプ・オブジェクトについて、内容も含めて紹介してきましたが、PHPチュートリアルに興味のある方の参考になれば幸いです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。