我目前的設計模式,並在書中讀一本書,他用這樣一個例子:分配多個類初始化的對象
<?php
//Client.php
/*Age groups:
18-29: Group 1
30-39: Group 2
40-49: Group 3
50+ : Group 4
*/
function __autoload($class_name)
{
include $class_name . '.php';
}
class Client
{
//$hotDate is component instance
private $hotDate;
public function __construct()
{
$this->hotDate=new Female();
$this->hotDate->setAge("Age Group 4");
echo $this->hotDate->getAge();
$this->hotDate=$this->wrapComponent($this->hotDate);
echo $this->hotDate->getFeature();
}
private function wrapComponent(IComponent $component)
{
$component=new ProgramLang($component);
$component->setFeature("php");
$component=new Hardware($component);
$component->setFeature("lin");
$component=new Food($component);
$component->setFeature("veg");
return $component;
}
}
$worker=new Client();
?>
我的問題是wrapComponent功能。如何在不丟失以前的內容的情況下多次初始化類變量?在我看來,這將返回唯一的事情是與食品類成分,因爲它是最後一個被初始化。對不起,如果這是明顯的問題,但我無法在網上找到任何東西,我從來沒有見過這樣做過。
方法'ProgramLang','Hardware'和'Food'可能與以前的數據+新數據中返回一個對象。所以結果可以是累積的。 – kevinamadeus