[php]php设计模式 Prototype (原型模式)

本文介绍PHP中的原型模式,展示了如何使用原型实例指定创建对象的种类,并通过拷贝原型来创建新的对象。通过具体代码示例解释了__clone魔术方法的作用及如何正确实现getClone方法。
1 <?php
2 /**
3 * 原型模式
4 *
5 * 用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象
6 *
7 */
8 abstractclass Prototype
9 {
10 private$_id=null;
11
12 publicfunction __construct($id)
13 {
14 $this->_id =$id;
15 }
16
17 publicfunction getID()
18 {
19 return$this->_id;
20 }
21
22 publicfunction __clone() // magic function
23 {
24 $this->_id +=1;
25 }
26
27 publicfunction getClone()
28 {
29 returnclone$this;
30 }
31 }
32
33 class ConcretePrototype extends Prototype
34 {
35 }
36
37 //
38 $objPrototype=new ConcretePrototype(0);
39 $objPrototype1=clone$objPrototype;
40 echo$objPrototype1->getID()."<br/>";
41 $objPrototype2=$objPrototype;
42 echo$objPrototype2->getID()."<br/>";
43
44 $objPrototype3=$objPrototype->getClone();
45 echo$objPrototype3->getID()."<br/>";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值