首页 > 代码库 > PHP中的工厂设计模式【实例】
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 { // 静态的工厂方法 传入类型 // 将传入的类型赋值给类名变量 // 返回 new 类名变量 static function factory($type) { $className = $type; return new $className; } } // 调用: // 工厂类下的工厂方法(传入类名) // 调用方法 $ren = AFactory::factory(‘BuSiZu‘); $ren->GongJi();
本文出自 “你好我是森林” 博客,请务必保留此出处http://chensenlin.blog.51cto.com/10559465/1857493
PHP中的工厂设计模式【实例】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。