php原型模式

2021-03-07  本文已影响0人  一路向后

1.原型模式简介

   原型模式的核心思想是,通过拷贝指定的“原型实例(对象)”,创建跟该对象一样的新对象。简单理解就是“克隆指定对象”。

2.源码实现

<?php

/*抽象原型角色*/
abstract class Prototype {
    abstract function cloned();
}

/*具体原型角色*/
class Plane extends Prototype {
    public $color;

    public function Fly()
    {
        echo "飞机飞啊飞\n";
    }

    public function cloned()
    {
        return clone $this;
    }
}

/*客户角色*/
class Client {
    public static function main()
    {
        $plane1 = new Plane();

        $plane1->color = "blue";

        $plane2 = $plane1->cloned();

        $plane1->Fly();
        $plane2->Fly();

        echo "plane1的颜色为: {$plane1->color}\n";
        echo "plane2的颜色为: {$plane2->color}\n";
    }
}

Client::main();

?>

3.运行及其结果

飞机飞啊飞
飞机飞啊飞
plane1的颜色为: blue
plane2的颜色为: blue
上一篇下一篇

猜你喜欢

热点阅读