- <?php
- //人类接口
- interface IHuman
- {
- function GetName();
- }
- //男人类,实现人类接口
- class ManClass implements IHuman
- {
- //获取姓名方法
- public function GetName()
- {
- return "I'm man."."<br>";
- }
- }
- //女人类,实现人类接口
- class WomanClass implements IHuman
- {
- //获取姓名方法
- public function GetName()
- {
- return "I'm Woman."."<br>";
- }
- }
- //类工厂,根据需要生产不同实例对象返回
- class ManFactory
- {
- //根据参数获取实例对象
- public function GetIHuman($IHuman="man")
- {
- if($IHuman=="woman")
- {
- return new WomanClass();
- }
- else if($IHuman=="man")
- {
- return new ManClass();
- }
- else
- {
- return null;
- }
- }
- //直接获取woman类
- public function GetWoman()
- {
- return new WomanClass();
- //return new ManClass();
- }
- //直接获取man类
- public function GetMan()
- {
- return new ManClass();
- }
- }
- $ManFactory=new 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();
- ?>
来源: http://www.phpxs.com/code/1003515/