当前位置: 移动技术网 > IT编程>开发语言>PHP > php中使用接口实现工厂设计模式的代码

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

2019年04月17日  | 移动技术网IT编程  | 我要评论

接口在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.

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网