Public/var | Protected | Private |
|
外部[可以] | 不可以 | 不可以 |
|
子类【可以】 | 可以 | 不可以 |
|
自己【可以】 | 可以 | 可以 |
|
Var只能修饰成员属性 |
|
|
|
3 | 2 | 1 |
|
成员方法和成员属性设置访问级别的关系。
在子类出现同名的方法或者属性,需要覆盖父类的方法和属性的时候。方法和属性只可以大于或者等于父类当中方法或属性的访问等级,但是不能小于低于父类当中的方法或属性等级
Final 关键词可以修饰成员方法,也可以修饰类,“final修饰的成员方法不能够被覆盖,final修饰的类,不能够被继承”
Static 修饰的成员属性不是用$this->静态成员属性名去访问
Static 修饰的成员属性是用 类名::$静态成员属性名去访问
在类的内部还可以self::成员属性名来访问
静态成员属性可以在类的外部直接使用类名::$静态属性名来访问。
静态成员属性也可以加访问关键词
Static 关键词还可以修饰成员方法
1, 静态的成员方法当中不能有任何动态的成员属性和成员方法
2, 在类的内部可以使用$this->静态方法名直接去访问
3, 在类的内部可以直接使用类名::静态方法名去访问静态的成员方法
4, 在类的内部可以直接使用self::静态方法名来去访问静态的成员方法
5, 在类的外部可以实例化一个对象后,直接 $对象->静态方法名()
6, 在类的外部可以直接使用类名::静态方法名去访问静态的成员方法
7, 尽可能的把方法写成静态方法,因为它的效率很高!
类当中的常量定义:
1, 经常把常量名大小
2, 一定被定义,不可被修改
3, 在类的内部访问是 类名::常量名
4, Self::常量名
5, 在外部 类名::常量名,不需要实例化
__toString
对象不能够直接echo
在echo 对象的时候自动激活__toString这个魔术方法
必须要return 一个字符串回去。Echo 对象的时候,其实就返回的return的字符串
__clone
Clone对象的时候自动调用
逻辑,克隆的时候需要修改属性
附件列表