作者:LAMP小白 点击:1759 发布日期:2012-10-08 22:14:00 返回列表
原型模式创建对象的方式是复制和克隆初始化对象或原型,这种方式比创建新势力更为有效
$bandMixProto对象是根据MixtapeCD的实例创建的,他包含了cd类的全部方法
利用foreach我们可以轻松实现对不同cd的购买动作
mio_lt;?php class cd { public $band = ''; public $title = ''; public $trackList = array(); public function __construct($id) { $this-mio_gt;band = 'band'.$id; $this-mio_gt;title = 'title'.$id; } public function buy() { var_dump($this); } } class mixTapeCD extends cd { public function __clone() { $this-mio_gt;title = 'mixtape'; } } $bandID = 12; $bandMixProto = new mixTapeCD($bandID); $externalPurchaseInfo = array(); $externalPurchaseInfo[] = array('brrr', 'goodbye'); $externalPurchaseInfo[] = array('what it means', 'brrr'); foreach($externalPurchaseInfo as $mixed){ $cd = clone $bandMixProto; $cd-mio_gt;trackList = $mixed; $cd-mio_gt;buy(); } ?mio_gt;
上一篇:观察者模式 下一篇:快递查询API