標籤:php設計模式 工廠
<?php/*定義介面 其中有走路 攻擊 尋找的方法*/interface GuaiShou{ public function ZouLu(); public function GongJi(); public function XunZhao();}// 繼承介面 的 人類//class RenLei implements GuaiShou{ public function ZouLu() { echo ‘我是‘. RenLei::class . ‘,我用雙腳走路<br>‘; } public function GongJi() { echo ‘我是‘. RenLei::class.‘,我用智慧攻擊<br>‘; } public function XunZhao() { echo ‘我是‘. RenLei::class.‘,我用心尋找<br>‘; }}// 繼承介面 的 精靈class JingLing implements GuaiShou{ public function ZouLu() { echo ‘我是‘. JingLing::class.‘,我用雙腳走路<br>‘; } public function GongJi() { echo ‘我是‘. JingLing::class.‘,我用法力攻擊<br>‘; } public function XunZhao() { echo ‘我是‘. JingLing::class.‘,我用翅膀尋找<br>‘; }}// 繼承介面 的 獸族class ShouZu implements GuaiShou{ public function ZouLu() { echo ‘我是‘. ShouZu::class.‘,我用大腿走路<br>‘; } public function GongJi() { echo ‘我是‘. ShouZu::class.‘,我用大力攻擊<br>‘; } public function XunZhao() { echo ‘我是‘. ShouZu::class.‘,我用蠻力尋找<br>‘; }}// 繼承介面 的 不死族class BuSiZu implements GuaiShou{ public function ZouLu() { echo ‘我是‘. BuSiZu::class.‘,我用大腿走路<br>‘; } public function GongJi() { echo ‘我是‘. BuSiZu::class.‘,我用大力攻擊<br>‘; } public function XunZhao() { echo ‘我是‘. BuSiZu::class.‘,我用蠻力尋找<br>‘; }}/*建立工廠類*/class AFactory{ // 靜態Factory 方法 傳入類型 // 將傳入的類型賦值給類名變數 // 返回 new 類名變數 static function factory($type) { $className = $type; return new $className; }}// 調用:// 工廠類下的Factory 方法(傳入類名)// 調用方法$ren = AFactory::factory(‘BuSiZu‘);$ren->GongJi();
本文出自 “你好我是森林” 部落格,請務必保留此出處http://chensenlin.blog.51cto.com/10559465/1857493
PHP中的工廠設計模式【執行個體】