摘要:总结:为避免类的严重依赖和批量实例化类,可以使用工厂模式,单独创建一个类用来实例化其他类。代码===========================================class Computer(){public function work(){return '学习PHP';}}class Auto(){public function run(){return
总结:为避免类的严重依赖和批量实例化类,可以使用工厂模式,单独创建一个类用来实例化其他类。
代码===========================================
class Computer(){
public function work(){
return '学习PHP';
}
}
class Auto(){
public function run(){
return '去旅游';
}
}
// class Student{
// public function study(){
// $computer = new Computer();
// return '计算机'.$computer->work();
// }
// public function drive(){
// $auto = new Auto();
// return '汽车'.$auto->run();
// }
// }
//创建一个工厂类
class Factory(){
//实例化传入的类
public static function create($className){
switch (strtolower($className)) {
case 'computer':
return new Computer();
break;
case 'auto':
return new Auto();
break;
}
}
}
class Student{
public function study(){
$computer = Factory::create('computer');
return '计算机'.$computer->work();
}
public function drive(){
$auto = Factory::create('auto');
return '汽车'.$auto->run();
}
}