这篇文章介绍的内容是关于PHP设计模式之 原型模式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

原型模式(Prototype) 理解起来也不算很难。

总结起来就是通过一种克隆的方式去创建对象,节省创建对象的复杂度。

主要可以用来防止重复创建对象带来的大量代码冗余。

记录代码如下:

<?php  
/** 抽象原型类 
 *  abstract Class Prototype 
 */  
abstract Class Prototype  
{  
    abstract function Cloned();  
}  
  
  
/** 英雄类 继承抽象类 
 *  Class Hero 
 */  
class Hero extends Prototype  
{  
    public $weapon; // 武器变量  
  
    function Create()  
    {  
        echo "英雄已经创建完成,手里拿着";  
    }  
  
    // 克隆方法  
    function Cloned()  
    {  
        return clone $this;// PHP clone方法  
    }  
}
登录后复制

登录后复制
<?php  
header("Content-Type:text/html;charset=utf-8");    
//------------------原型模式index.php------------------    
require_once "Prototype.php";    
  
// 实例化英雄类 为一号英雄  
$hero1 = new Hero();  
$hero1->weapon = "琉璃琴"; // 添加武器  
  
// 第二次通过克隆一号英雄 得到二号英雄  
$hero2 = $hero1->Cloned();  
  
$hero1->Create();  
echo "=>{$hero1->weapon}<br/>";  
  
// 克隆 会将类里面的函数和变量复制一份  
$hero2->Create();  
echo "=>{$hero2->weapon}<br/>";
登录后复制



输出结果为:

英雄已经创建完成,手里拿着=>琉璃琴
英雄已经创建完成,手里拿着=>琉璃琴

相关推荐:

PHP设计模式之 单例模式

PHP设计模式之抽象工厂

PHP设计模式之工厂方法

以上就是PHP设计模式之 原型模式的详细内容,更多请关注Work网其它相关文章!

09-02 10:29