1. 类属性与类方法(静态成员)
类属性: 静态属性
类方法: 静态方法
静态成员属于类,而不属于对象
静态成员不需要通过对象访问,所以不必实例化
使用static关键字定义
类外使用类名访问,类内使用self访问
类外部, 类属性不能用实例访问,但类方法可以
2. 类常量
类常量也类属性一样,也是属于类的, 必须用类访问,不能用对象访问
类常量与类属性的区别是: 类常量不允许修改,而类属性可以修改
类常量与普通常量的命名规则是一致的, 推荐使用大写字母或大写字母+下划线
类常量不需要设置访问限制符,默认行为与public是一样的
3. 属性重载
重载: 动态的创建属性和方法
当访问未定义或不可见的属性/方法时, 重载方法会自动调用
"当访问未定义或不可见", 统称为: "不可访问"
PHP中的重载,是通过"魔术方法"实现
"魔术方法"是特指客户端不能访问,而只能是系统根据一定条件自动调用
所有重载方法必须声明为: public
__get($name): 当获取未定义可不见属性时触发
__set($name, $value) :当给未定义可不见属性赋值时触发
__isset($name): 当检测未定义可不见属性时触发
__unset($name): 当注销未定义可不见属性时触发
4. 方法重载
__call(): 访问未定义的对象方法时会自动调用它
__callStatic(): 访问未定义的静态类方法时会自动调用它
5. 方法重载实例演示
类方法的跨类调用的实现
链式调用的原理分析