php-工厂模式实现

php-工厂模式实现

概述

工厂模式(Factory Pattern):在工厂模式中,可以根据参数的不同返回不同类的实例。工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

还是拿工厂模式现实中中的例子:

现在有一个摩托车制造厂,它生产踏板摩托和跨骑摩托车,踏板车和跨骑车都是由发动机、车身和轮子组成的。

在工厂模式中,我们把踏板摩托车和跨骑摩托车作为摩托族群中的两个类别,生产引擎、车身和轮子为生产摩托车的固定结构,

模式结构

工厂模式包含如下角色:

  1. MotorcycleFactory-摩托工厂角色:工厂角色负责实现创建所有实例的内部逻辑
  2. Motorcycle:抽象摩托角色:摩托角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口
  3. MotorcycleScooter-踏板摩托角色:具体实现踏板摩托车的业务逻辑
  4. MotorcycleStraddle-跨骑摩托角色:具体实现跨骑摩托车的业务逻辑

UML图例

以本文实例代码为参考
在这里插入图片描述

代码实例

<?php
/**
 * +----------------------------------------------------------------------+
 * php23种设计模式实现-工厂模式
 * Author:微信公众号:yuantanphp
 * 获取更多资源,技术答疑,项目合作请关注微信公众号:yuantanphp
 * +----------------------------------------------------------------------+
 */
//定义一个抽象类
abstract class Motorcycle
{
   
    //发动方法
    public abstract function engine();
    //车身方法
    public abstract function body();
    //车轮方法
    public abstract function whell();
}
/**
 * 踏板摩托
 */
class MotorcycleScooter extends Motorcycle
{
   
    public function engine()
    {
   
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯伪猿

觉得文章不错?打赏支持一下吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值