网站制作400哪家好网站,网站建设对企业的要求,网站做营销推广的公司,昆凌做的广告买化妆品网站php实现工厂设计模式#xff0c;使用接口实现#xff0c;表面上接口没有什么用#xff0c;因为php是类型自动转换的。实现上使用接口可以约束类的定义#xff0c;从而实现一致的访问。 接口在php只能起到约束类的定义作用#xff0c;虽不像c#/java那么直观#xff0c;但基…php实现工厂设计模式使用接口实现表面上接口没有什么用因为php是类型自动转换的。实现上使用接口可以约束类的定义从而实现一致的访问。 接口在php只能起到约束类的定义作用虽不像c#/java那么直观但基于oop的封装要求使用接口可以提高程序的可扩展性如实现代理设计模式。 ?php//人类接口interface IHuman{function GetName();}//男人类实现人类接口class ManClass implements IHuman{//获取姓名方法 public function GetName(){return Im man..br;}}//女人类实现人类接口class WomanClass implements IHuman{//获取姓名方法 public function GetName(){return Im Woman..br;}}//类工厂根据需要生产不同实例对象返回class ManFactory{//根据参数获取实例对象public function GetIHuman($IHumanman){if($IHumanwoman){return new WomanClass();}else if($IHumanman){return new ManClass();}else{return null;}}//直接获取woman类public function GetWoman(){return new WomanClass();//return new ManClass();}//直接获取man类public function GetMan(){return new ManClass();}}$ManFactorynew ManFactory();$ManClass$ManFactory-GetIHuman();echo $ManClass-GetName();$IHuman$ManFactory-GetIHuman(woman);echo $IHuman-GetName();$Woman$ManFactory-GetWoman();echo $Woman-GetName();$Man$ManFactory-GetMan();echo $Man-GetName();?运行结果: Im man.Im Woman.Im Woman.Im man.转载于:https://www.cnblogs.com/wusee/archive/2012/06/17/2552610.html