1/3
课程视频:OOP 简介
PHP的面向对象
- 对象是客观存在的一个实体。
- 类是对对象抽象的一个描述。
- 概念:对象(实体)、类、 类与对象的关系。
OOP
面向对象编程的特点:封装、继承、多态。
- 类和对象的关系:
- 类的实例化结果就是一个对象(使用
new
关键字)。
- 对对象的抽象描述就是一个类。
- 面向对象只在乎结果,过程怎么做不管。
如何定义和使用一个类
- 语法格式。
[修饰符] class 类名{
[成员属性] //定义变量
[成员方法] //定义函数
}
[修饰符] class 类名 [extends 父类] [implements 接口1[,接口2...]]{
[成员属性] //定义变量
[成员方法] //定义函数
}
- 其中成员属性格式。
修饰符 $变量名[=默认值];
public $name="zhangsan";
注:成员属性不可以是带运算符的表达式、变量、方法或函数的调用。
public $var6 = 100; //普通数值(4个标量:整数、浮点数、布尔、字串)
public $var6 = myConstant; //常量
public $var7 = self::classConstant; //静态属性
public $var8 = array(true, false); //数组
常用属性的修饰符:public
、protected
、private
、static
、var
。
- 其中成员方法格式。
[修饰符] function 方法名(参数..){
[方法体]
[return 返回值]
}
常用的修饰符:public
、protected
、private
、static
、abstract
、final
。
- 对象的产生。
new
称为实例化。当类实例化时,就会产生一个对象。
$p = new Person();
$this
关键字,表示自己,表示当前使用对象。
我们在类中调用自己的成员属性或函数都是使用 $this
来调用。
注:非静态方法中可以使用
this
关键字。
构造函数和析构函数
- 构造方法(构造函数)。
当我们通过new
关键字来创建一个对象时,第一个自动执行的方法称为构造方法。
方法名__construct();
主要用于初始化对象。
注:在 php4.0 时可使用与类名重名的方法作为构造方法。
- 析构方法。
当这个对象被销毁时最后自动调用的方法,称为析构方法。
__destruct();
目的是释放资源(如关闭连接、文件,释放资源)。
封装(访问控制)
将属性私有,并提供公有的setter
放置与getter
取值方法。
位置 | private(公有) | protected(受保护) | private(私有) |
---|---|---|---|
本类中 | Y | Y | Y |
子类中 | Y | Y | N |
类外边 | Y | N | N |