类成员
属性
方法
类常量
定义在类里的常量
语法:
在类内使用const进行定义
常量的访问:
示例:
注意:
类中只有方法内可以书写任何代码。
类成员的访问
公共属性的访问:
类外访问
对象名->属性名;
类内访问
$this关键字
$this只能在非静态方法内使用
$this是系统关键字,就代表调用的方法的那个对象。
对象、类、this的内存结构
说明:
对象空间中只存储属性,属性只存在对象空间
所有的方法存储在代码区中存储类的那一块空间(类空间),方法存储在类空间
$this只能在方法非静态内部用
私有属性的访问
属性的作用就是用于保存数据,私有属性的作用是用于保证数据的安全(指的是不能在外部通过对象访问),只能在类的方法内部访问
示例:
方法的访问
公有方法在类外访问
语法:
对象名->方法名();
示例:
公有方法在类内访问
私有方法在类内访问
类常量的访问
所谓的类常量,是属于类的,只能通过类来访问
类外访问类常量
语法:
类名::常量名;
说明:
:: 范围操作解析符
:: 主要用于访问类常量,静态成员(静态属性与静态方法)
虽然可以通过::访问普通的方法,但强烈不建议。
示例:
内存原理:
类内访问类常量
self关键字
表示当前类
示例:
self原理
self与$this的区别
$this 表示这个,调用当前方法的那个对象
$this用于访问对象的属性,还可以访问类的方法。
self 表示自己,表示方法所属的类
self用来访问类里的成员(与类常量、方法与静态方法、静态属性)
方法、属性中的静态属性、类常量属于类
非静态属性属于对象
注意:
这里的属于并不是限制访问的意思,只要对象中没有的,就可以去实例化类的空间找。
魔术方法
魔术方法也是以__开头,是系统预设的。
构造函数
构造函数就是类里的一很特殊的方法(函数)。方法名与类名相同,就是构造函数。
__construct()
构造函数的作用:
主要用于实现对象的初始化。
特点:
在类实例化任何对象时,自动调用该类中的构造函数。
示例:
析构函数
__destruct();
特点:
- 在以下几种情况都会自动执行。
- 会在对象被删除
- 脚本执行结束
- 存储对象的变量如果被删除
- 存储对象的变量被修改
作用:
用于释放其他资源。
示例:
结果:
对象的传递
PHP有两种传递方式
赋值传值
引用传值
将一个变量的内存地址传递另一个变量,对象使用就是引用传值
代码:
内存原理
对象的比较
==
比较规则:
比较两个对象是否出于一个类,
比较对象当前的属性的数量与值
示例1:
示例2: