什么叫工厂方法模式? 定义一个用于创建对象的接口,让子类决定实例化哪一个类 以雷锋依然在人间作为例子 <?php /** * 雷锋 */ class LeiFeng { public function Sweep() { return "扫地"; } public function Wash() { return "洗衣"; } public function BuyRice() { return "买米"; } } /** * 学雷锋的大学生 */ class Undergraduate extends LeiFeng { } /** * 学雷锋的志愿者 */ class Volunteer extends LeiFeng { } /** * 工厂接口 */ interface Ifactory { function create(); } /** * 学雷锋的大学生工厂 */ class UndergraduateFactory implements Ifactory { public function create() { return new Undergraduate(); } } /** * 社区志愿者工厂 */ class VolunteerFactory implements Ifactory { public function create() { return new Volunteer(); } } $undergraduate = new UndergraduateFactory(); echo $undergraduate->create()->Sweep(); echo "/n"; echo $undergraduate->create()->Wash(); 结果: 扫地洗衣