接口在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.
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
-
-
-
管理后台无限级菜单
管理后台菜单遍历很久就想做一个通用的管理后台出来,一直太懒没做,今天开始粗略搞了一下,只是先把框架搭建好,菜单栏...
[阅读全文]
-
桥接模式学习总结
桥接模式引言假如一个系统需要加入报表模块,主要的开发点是数据的获取和报表的显示方式。数据的获取可能是从系统数据库...
[阅读全文]
-
网友评论