程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中使用接口實現工廠設計模式的代碼

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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved