摘要:学习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);