php 设计模式之简单工厂模式

摘要:学习PHP,不知道工厂模式,怎么去看框架源码,怎么能够透彻理解PHP这门语言呢?

一 . php面向对象程序设计基本概念

1 . 类的声明

[一些修饰类关键字] class 类名{

}

  修饰类的关键字:abstract/final
  访问控制修饰符包括这三个:public/private/protect
  关键字,用来修饰类、成员属性、成员方法,使它们具有特定的功能,final/static/const

2 . 成员属性
  在类中声明成员属性时,变量前面必须要使用一个关键字。
  关键字有:public/private/static,如果不需要特性意义的修饰,可以使用var关键字。
  不能用多个关键字修饰一个属性。

3 . 成员方法
  可以修饰成员方法的关键字:public/private/static/protect

4 . 对象类型在内存中的分配

5 . 面向对象三大特性
  封装、继承、多态

6 . 抽象类与接口
  抽象方法没有方法体;
  只要在声明类时有一个方法是抽象方法,那么这个类就是抽象类,抽象类需要使用abstract来修饰;
  在抽象类里面可以有不是抽象的成员方法和成员属性,但是访问权限不能使用private关键字修饰为私有的;

二 . 简单工厂模式

三种类:

  • 抽象基类
  • 继承自抽象基类的子类
  • 工厂类
abstract class Option{
    abstract function getValue($num1,$num2);
}

class OptionAdd extends Option{
    public function getValue($num1,$num2){
        return $num1+$num2;
    }
}

class OptionSub extends Option{
    public function getValue($num1,$num2){
        return $num1-$num2;
    }
}

//工厂类
class Factory{
    public static function calculate($option){
        switch($option){
            case '+':
                return new OptionAdd;
                break;
            case '-':
                return new OptionSub;
                break;
        }
    }
}

echo Factory::calculate('+')->getValue(1,4);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值