中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP設計模式:原型模式

發布時間:2020-07-01 20:51:22 來源:網絡 閱讀:1790 作者:hgditren 欄目:web開發

sdfasd


<?php
/**
 * 原型模式(深拷貝+淺拷貝)
 */
declare(strict_types=1);//開啟強類型模式

class CopyObj
{
    public $array;
}

//抽象原型類
abstract class Prototype
{
    protected $attach;

    public function __construct(CopyObj $obj)
    {
        $this->attach = $obj;
    }

    public function set($name, $value)
    {
        $this->$name = $value;
    }

    public function get($name)
    {
        return $this->$name;
    }

    public function getAttach()
    {
        return $this->attach;
    }

    abstract public function clone();
}

class DeepCopy extends Prototype
{
    public function clone()
    {
        $obj = clone $this;
        return $obj;
    }
}

class ShallowCopy extends Prototype
{
    public function clone()
    {
        $serializeObj = serialize($this);
        $obj = unserialize($serializeObj);
        return $obj;
    }
}

123

123

//----------深拷貝--------------
$chairman = new CopyObj();
$chairman->array = ['×××', '×××', '江澤明'];


$deepCopyObj1 = new DeepCopy($chairman);
$deepCopyObj2 = $deepCopyObj1->clone();

echo "<pre>";

var_dump($deepCopyObj1->getAttach());
var_dump($deepCopyObj2->getAttach());

//修改對象
$chairman->array = ['×××', '×××'];
var_dump($deepCopyObj1->getAttach());
var_dump($deepCopyObj2->getAttach());

asdsad

//-------------淺拷貝-------------

$start = new CopyObj();
$start->array = ['劉德華', '張學友', '郭富城', '黎明'];
$deepCopyObj3 = new ShallowCopy($start);
$deepCopyObj4 = $deepCopyObj3->clone();
var_dump($deepCopyObj3->getAttach());
var_dump($deepCopyObj4->getAttach());

//修改對象
$start->array = ['周杰倫'];
var_dump($deepCopyObj3->getAttach());
var_dump($deepCopyObj4->getAttach());


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

收藏| 杭锦旗| 黔江区| 洪雅县| 苏尼特右旗| 蒲江县| 富锦市| 双牌县| 黄陵县| 攀枝花市| 城口县| 潼关县| 平武县| 砀山县| 萍乡市| 文化| 祁阳县| 大丰市| 宣武区| 灵璧县| 邹平县| 资源县| 东方市| 芮城县| 航空| 新宾| 泰州市| 濮阳县| 台安县| 通化县| 四子王旗| 溧阳市| 深州市| 皮山县| 兴文县| 商城县| 石嘴山市| 虞城县| 满洲里市| 湘潭市| 连山|