原型设计模式是什么?

PHP 基础面试题
0
0
分享
推荐答案
展示答案

<?php //原型设计模式创建对象的方式是复制和克隆初始对象或原型,这种方式比创建新实例更为有效。 class CD{ public $band = ''; public $title = ''; public $trackList = []; public function __construct($id){ $cds = [ ['band' => 'fenghuangchuanqi', 'title' => 'zuixuanminzufeng'], ['band' => 'TFBOYS', 'title' => 'zuoshouyoushou'], ]; if(empty($cds[$id])){ $this->band = 'unknown'; $this->title = 'unknown'; }else{ $this->band = $cds[$id]['band']; $this->title = $cds[$id]['title']; } } public function buy(){ var_dump($this); } } class MixtapeCD extends CD{ public function __clone(){ $this->title = 'Mixtape'; } } $externalPurchaseInfoBandID = 1; $bandMixProto = new MixtapeCD($externalPurchaseInfoBandID); $externalPurchaseInfo = []; $externalPurchaseInfo[] = ['brrr', 'goodbye']; $externalPurchaseInfo[] = ['what it means', 'brrr']; foreach($externalPurchaseInfo as $mixed){ $cd = clone $bandMixProto; $cd->trackList = $mixed; $cd->buy(); } //处理创建成本较高和新实例的初始信息保持相对不变的对象时,最佳的做法是使用基于原型设计模式创建的复制类。

答案已隐藏