1. 程式人生 > >PHP 工廠模式淺析

PHP 工廠模式淺析

func nfa new 的人 不存在 類工廠 實例 class method


//抽象出一個人的接口
interface Person{
public function showInfo();
}
//繼承於人的學生類
class Student implements Person{
public function showInfo()
{
// TODO: Implement showInfo() method.
echo "我是一個學生";
}
}
//繼承於人的教師類
class Teacher implements Person{
public function showInfo()
{
// TODO: Implement showInfo() method.
echo "我是一個老師";
}
}
//人類工廠
class PersonFactory{
public static function factory($person_type){
    //傳進來的人的類型,首字母大寫
$class_name = ucfirst($person_type);
if (class_exists($class_name)){
return new $class_name;
}else{
throw new Exception("類:".$class_name."不存在");
}
}
}
//學生類的實例化
$student = PersonFactory::factory(‘student‘);
$student->showInfo();

PHP 工廠模式淺析