News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      乐道系统FAQ      PHP设计模式之原型模式定义与用法详解

PHP设计模式之原型模式定义与用法详解

发布日期:2018-04-18 21:57:50 59

本文实例讲述了PHP设计模式之原型模式定义与用法。分享给大家供大家参考,具体如下:

原型设计模式(Prototype Design Pattern)很有意思, 因为它使用了一种克隆技术来复制实例化的对象. 新对象是通过复制原型实例来创建的. 在这里, 实例是批实例化的具体类.原型设计模式的目的是通过使用克隆来减少实例化对象的开销.与其从一个类实例化新对象, 完全可以使用一个已有实例的克隆.

克隆函数

PHP中使用原型设计模式的关键是要了解如何使用内置函数__clone().

<?php
abstract class CloneObject
{
  public $name;
  public $picture;
  abstract function __clone();
}
class Boy extends CloneObject
{
  public function __construct()
  {
    $this->face = "handsome";
    $this->name = "chenqionghe";
  }
  public function display()
  {
    echo 'look : '.$this->face;;
    echo '<br />'.$this->name.'<br />';
  }
  public function __clone() {}
}
$boy = new Boy();
$boy->display();
$cloneBoy = clone $boy;
$cloneBoy->face = "still handsome";
$cloneBoy->display();