这篇文章介绍的内容是关于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设计模式之 原型模式的详细内容。