设计模式学习笔记—简单工厂模式

时间:2025-04-15 20:46:23
abstract class Grade { protected $personInfo = array(); public function setPersonInfo($name){ $this->personInfo['name'] = $name; } //不同部门可能有不同处理,抽象此方法 abstract public function setDepartment($department); public function save(){ //todo } } //员工实例 class Staff extend Grade{ public function setDepartment($department){ $this->personInfo['department'] = $department; //todo staff } } //经理实例 class Manager extend Grade{ public function setDepartment($department){ $this->personInfo['department'] = $department; //todo staff } } //工厂类 class GradeFactory{ public static function create($grade){ switch($graade){ case 'staff': $re = new Staff(); break; case 'manager': $re = new Manager(); break; default: $re = new Staff(); } } }