php中使用接口实现工厂设计模式的代码

2015-01-24信息快讯网

php实现工厂设计模式,使用接口实现,表面上接口没有什么用,因为php是类型自动转换的。实现上使用接口可以约束类的定义,从而实现一致的访问

接口在php只能起到约束类的定义作用,虽不像c#/java那么直观,但基于oop的封装要求,使用接口可以提高程序的可扩展性,如实现代理设计模式。

 
<?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(); 
?> 

运行结果:
I'm man.
I'm Woman.
I'm Woman.
I'm man.

PHP 实现explort() 功能的详解
PHP 简易输出CSV表格文件的方法详解
解析PHP高效率写法(详解原因)
php代码书写习惯优化小结
浅析使用Turck-mmcache编译来加速、优化PHP代码
用Json实现PHP与JavaScript间数据交换的方法详解
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
使用array mutisort 实现按某字段对数据排序
PHP实现邮件群发的源码
解析PHP跨站刷票的实现代码
PHP设计模式之调解者模式的深入解析
PHP设计模式之迭代器模式的深入解析
PHP设计模式之解释器模式的深入解析
PHP设计模式之代理模式的深入解析
PHP设计模式之责任链模式的深入解析
深入分析php中接口与抽象类的区别
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
PHP下使用CURL方式POST数据至API接口的代码
php中选择什么接口(mysql、mysqli)访问mysql
php后退一页表单内容保存实现方法
php中jQuery插件autocomplate的简单使用笔记
PHP的加密方式及原理
php面向对象 字段的声明与使用
PHP对象Object的概念 介绍
深入了解PHP类Class的概念
Php中文件下载功能实现超详细流程分析
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
PHP通过session id 实现session共享和登录验证的代码
php DOS攻击实现代码(附如何防范)
PHP图片验证码制作实现分享(全)
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
PHP设计模式之装饰者模式
PHP 设计模式之观察者模式介绍
PHP设计模式 注册表模式
PHP设计模式 注册表模式(多个类的注册)
php设计模式 Visitor 访问者模式
php学习笔记 面向对象中[接口]与[多态性]的应用
PHP面向接口编程 耦合设计模式 简单范例
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
©2014-2024 dbsqp.com