摘要:工厂模式总结 就是将对象的创建,统一到一个工厂类中的方法进行创建,想要在类中实例化其他类时,就调用工厂类中的这个方法来实例化类.理解的对不?//创建一个Book类 class Book { public function canRead()  
工厂模式总结
就是将对象的创建,统一到一个工厂类中的方法进行创建,想要在类中实例化其他类时,就调用工厂类中的这个方法来实例化类.理解的对不?
//创建一个Book类
class Book
{
public function canRead()
{
return '书能读!';
}
}
class Phone
{
public function canTel()
{
return '手机能打!';
}
}
class Factorys
{
//创建一个静态方法来声明类的实例
public static function create($className)
{
//转为小写
switch(strtolower($className)){
case 'book':
return new Book();
break;
case 'phone':
return new Phone();
break;
}
}
}
//创建一个Hero类
class Hero
{
//调用Book类中的方法
public function look()
{
$book = Factorys::create('BooK');
return 'Hero的'.$book->canRead();
}
//调用Phone类中的方法
public function art()
{
$book = Factorys::create('Phone');
return 'Hero的'.$book->canTel();
}
}
//实例化Hero类
$hero = new Hero;
echo $hero->look().'<hr>';
echo $hero->art().'<hr>';