首页 > 代码库 > php面向对象笔记

php面向对象笔记

1.程序都是要解决真实的业务逻辑!而且现实的业务逻辑,都是动作的主体在发出动作而不是动作独立出现的

2.语法

技术分享

3

.技术分享

技术分享

4访问属性: $object->stu_name;

访问方法:对象->方法名();

 

在方法中,访问对象$this

 

$this,这个,这个对象。调用该方法的对象!

 

$this 就是一个方法内的局部变量!特殊在,方法被对象调用执行时,php会自动确定是哪个对象调用的该方法,会使用该对象为方法内的$this赋值

5.

 

构造方法,__construct()

 

在实例化类得到对象时被自动地调用!

 

主要承担的工作是初始化对象属性!

技术分享

如果没有定义__construct()可以不用执行!

但是一旦定义了构造方法,那么构造(实例化)的过程,一定要包括这个调用构造方法的过程(构造方法一定会执行)。

 

TIP:有时也称,实例化对象为构造对象!

构造方法可以自动被调用!

注意

1, 构造方法可以是一个别的名字

一个与类名相同的方法,也可能是构造方法!

技术分享

1, new class_name时:

new Student

new Student();

取决于是否存在构造函数的必要参数!

6.

析构方法,__destruct

与构造方法相对,表示在对象被销毁时,自动调用的方法!

对象被销毁,但是对象所占用的资源不一定完全被销毁!

 

在对象被销毁时调用,作用是,用于释放对象所占用的额外资源!而不是对象本身!

技术分享

注意:

1对象在什么时候被销毁?

在用户脚本结束后,所有的资源包括对象都被销毁!

技术分享

 

2保存对象的变量被提前unset

技术分享

 

1, 保存对象的变量,被赋予了一个新的值!

技术分享

技术分享

7

如果一个方法或者函数参数过多,或者参数不能确定时:会选择使用数组的形式完成处理:

技术分享

在构造方法内,先完成对属性的初始化!

技术分享

升级:对参数选项增加一个默认值的概念,类似于端口,编码,可以在常规情况下实例化时省略!

在构造方法内,对属性初始化时,对默认值做处理:

技术分享

技术分享

8

类的静态成员,static

静态成员,指的是逻辑上被所有的对象所共享,属于类的成员称之为类的静态成员!

技术分享

分成静态属性和静态方法

保存数据的是静态属性,执行功能的静态方法!

9

声明

额外增加一个 static 关键字!

属性:

技术分享

方法:

技术分享

10.

访问

->访问对象成员,静态为类的成员

 

因此,应该使用类访问,

:: 成员!

::,静态访问符,类访问符(范围解析操作符)

 

 

在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

 

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。

 

php面向对象笔记