工厂模式 接口 封装 实例

<?php
/*
使用接口
制造厂和实例化直接参数用数组封装,告诉工厂对谁,做什么,实例化的代码就不再做其他事情
*/
//各种兵来一个接口
interface bingge
{
    public function make();//制造
    public function weixiu();//维修
}

//火焰兵
class huoyan implements bingge
{
    public function make()
    {
        echo "我是一个火焰兵";
    }

    public function weixiu()
    {
        echo "我在维修一个火焰兵";
    }
}

//机枪兵
class jiqiang implements bingge
{
    public function make()
    {
        echo "我是一个机枪兵";
    }

    public function weixiu()
    {
        echo "我在维修一个机枪兵";
    }
}

//如果第二期需要:坦克兵,就只用在这里添加
class tanke implements bingge
{
    public function make()
    {
        echo "我是一个坦克兵!";
    }

    public function weixiu()
    {
        echo "我在维修一个坦克兵!";
    }
}

//建造士兵的工具
class makeshibing
{
    public function zuosa($canshu)
    {
        $comeon = new $canshu["who"];
        $comeon->$canshu["what"]();
    }
}

//一个建造实例
$begin = new makeshibing();
$canshu = array
(
    "who"  =>  "huoyan" ,
    "what"  =>  "make" ,
);
$how = $begin->zuosa($canshu);

echo "<hr>";

//第二期需要增加坦克兵种
$begin = new makeshibing();
$canshu = array
(
    "who"  =>  "tanke" ,
    "what"  =>  "make" ,
);
$how = $begin->zuosa($canshu);

echo "<hr>";

//第三期需要
$begin = new makeshibing();
$canshu = array
(
    "who"  =>  "tanke" ,
    "what"  =>  "weixiu" ,
);
$how = $begin->zuosa($canshu);
?>

 

转载于:https://www.cnblogs.com/jiufen/p/4990629.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值