php中的工厂设计模式怎么利用接口实现

php中的工厂设计模式怎么利用接口实现?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

代码如下:


& lt; ?php
//人类接口
界面IHuman
{
函数GetName ();
}
//男人类,实现人类接口
类ManClass实现IHuman
{
//获取姓名方法
公共职能GetName ()
{
返回“我# 39;m男人干净干净& lt; br>“;
}
}
//女人类,实现人类接口
类WomanClass实现IHuman
{
//获取姓名方法
公共职能GetName ()
{
返回“我# 39;m干净自己的女人!”& lt; br>“;
}
}
//类工厂,根据需要生产不同实例对象返回
类ManFactory
{
//根据参数获取实例对象
公共职能GetIHuman ($ IHuman=癿an")
{
if ($ IHuman==皐oman")
{
返回新WomanClass ();
}
else if ($ IHuman==癿an")
{
返回新ManClass ();其他
}

{
返回null;
}
}
//直接获取女人类
公共职能GetWoman ()
{
返回新WomanClass ();
//返回新ManClass ();
}
//直接获取人类
公共函数-盖特曼()
{
返回新ManClass ();
}
}
ManFactory美元=new ManFactory ();
ManClass=ManFactory→美元GetIHuman ();
echo $ ManClass→GetName ();
IHuman=ManFactory→美元GetIHuman (“woman");
echo $ IHuman→GetName ();
女人=ManFactory→美元GetWoman ();
echo $女人→GetName ();
男人=ManFactory→美元-盖特曼();
echo $人→GetName ();
?比;


运行结果:
我# 39;m的人。
我# 39;m的女人。
我# 39;m的女人。
我# 39;m的人。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

php中的工厂设计模式怎么利用接口实现