>백엔드 개발 >PHP 튜토리얼 >PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체

PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 08:57:27863검색

면책 조항: 이 블로그 시리즈의 참고 자료는 Cheng Jie가 작성한 "Dahua 디자인 패턴"입니다.

  프로토타입 인스턴스를 사용하여 생성할 객체 유형을 지정하고 >이 프로토타입은 새로운 객체를 생성합니다. 프로토타입 모드를 사용하면 객체를 생성하는 방법에 대한 세부 정보 없이도 객체가 다른 사용자 정의 가능한 객체를 생성할 수 있습니다. , 을 통해 프로토타입 객체를 생성할 객체에 복사하고, 프로토타입 객체에게 자신을 복사하도록 요청하여 생성할 객체를 생성합니다. 이 직면한 주요 문제는 요구 사항 변경으로 인해 "복잡한 구조를 가진 일부 개체"가 생성된다는 것입니다. 이러한 개체는 종종 급격한 변화에 직면하지만 상대적으로 안정적이고 일관된 인터페이스.
                                                                                       그런 물건.


UML 클래스 다이어그램 살펴보기:

역할 분석:

PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체

1. 추상 프로토타입, 클론 인터페이스 제공

2. 구체적인 프로토타입, 클론 인터페이스 구현

특정 코드 :

 

[php] 보기 일반 복사

인쇄

?

PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체/**추상 프로토타입

  1. */
  2. 추상
  3. 수업 프로토타입
  4. { 추상 기능
  5. 복제됨()
  6. } /**특정 프로토타입 클래스
  7. * 클래스 플레인
  8. */
  9. 클래스
  10. 비행기확장
  11. 프로토타입
  12. {
  13. 공개 $color ;
  14. 🎜>기능
  15. Fly()
  16. { "비행기가 날아요!
    "
    ; >
  17. 함수cloned()
  18. >
  19.  return
  20. clone $this; 🎜>}
  21. 클라이언트 테스트 코드 :
  22. [php] 보기 일반 복사 인쇄
  23. ?
    1. 헤더("Content-Type:text/html;charset=utf-8"); 🎜>
    2. //------------프로토타입 모드 테스트 코드--------- ---------
    3. require_once
    4. "./Prototype /Prototype.php"; =
    5. 평면();
    6. $plane1->color="파란색"
    7. =$plane1->cloned() 🎜>$plane1
    8. ->Fly() ; ()
    9. 에코" 색상 plane1의 경우: {$plane1->color}
      "; 🎜>
      "plane2의 색상은: {$plane2->color}
    10. ; > 
    11. 프로토타입 모드의 핵심 아이디어만 소개합니다. 실제로 실제 개발에서는 그냥 clone하면 됩니다. 곧장. $plane2=clone $plane1;
    12. $plane2->Fly();$plane2->color;
    13. 이상으로 PHP 디자인 패턴 학습 시리즈(7개) - 프로토타입 객체의 내용을 포함한 내용을 소개했는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.