首頁 > 後端開發 > php教程 > php設計模式學習系列(七)--原型對象

php設計模式學習系列(七)--原型對象

WBOY
發布: 2016-07-29 08:57:27
原創
850 人瀏覽過

 聲明:本系列部落格參考資料《大話設計模式》,作者程傑。

       原型實例指定創建物件的種類,並且透過拷貝Prototype模式允許一個物件再創建另一個可自訂的對象,根本無需知道任何如何創建的細節,透過將一個原型對象傳給那個要發動創建的對象,這個要發動創建的物件透過請求原型物件拷貝它們自己來實施創建。它主要面對的問題是:「某些結構複雜的物件」的創建工作;由於需求的變化,這些物件經常面臨著劇烈的變化,但是他們卻擁有比較穩定一致的介面。                  
在php中,而類別已實現了一個原型模式,且php有個魔術__clone(__clone(),類型複製出一個原型模式,php有個魔術__clone(__clone(__clone)的方法克隆出一個對象。


        

 看看UML類圖:

   複製的介面

php設計模式學習系列(七)--原型對象

       2.特定的原型,實現複製的介面

      特定的代碼:

      

[php]  

[php]  plain copy

 print

?

php設計模式學習系列(七)--原型對象php設計模式學習系列(七)--原型對象*

 
  1. class Prototype  
  2. {  
  3.    
  4. abstract function cloned(
  5. /**抽象原型類  * Class Prototype 
  6.  */
  7.   class  Plane 
  8. extends
  9.  Prototype  
  10. {  
  11.  $color;  
  12.   
  13.         
  14.     {          echo      
  15.     }  
  16.   
  17.     )      {          
  18.     }  
  19. }  
  20. [php] view plain
  21.  copy print?
    1. header("Content-Type:text/html;charset=utf-8");  
    2. //------------ ---------原型模式測試程式碼------------------  
    3. require_once "./Prototype/Prototype .php";  
    4.   
    5. $plane1 $plane1->color="Blue"
    6. ;  
    7.   $plane2
    8. =
    9.  
    10. $plane1->Fly();   $plane2
    11. ->Fly();  
    12.    >color}
      "
    13. ;  echo
    14.  "plane2的顏色為:{$plane2->color}
      "
    15. ;        這裡只是介紹一下原型模式的核心思想,其實在實際開發中直接clone即可。   $plane2=clone $plane1;$plane2->Fly();
    16. $plane2->color;$plane2->color;$plane2->color;
    17. 以上就介紹了php設計模式學習系列(七)--原型對象,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板