数据访问:
用parent关键字可以访问父类中被子类重写的方法
self关键字可以用于访问类自身的方法,也可以用于访问自身的静态成员和类常量;不能用于访问类自身的属性;使用常量的时候不需要在常量名称前面添加$符号
static关键字用于访问类自身定义的静态成员
摘录:
当用::访问属性的时候,无论前面是self 还是parent,属性一定是静态属性,否则不能访问;
当用::访问方法的时候,self::表示自身的方法,parent::表示父类的方法,方法无论是不是静态的都可以访问
摘录:区分this self static parent
this self static用于类自身数据访问,parent用于父类数据访问
对于属性,
this可以访问非静态属性,
self static parent用于静态属性。
对于方法,
this self parent可以访问静态、非静态方法,
static可以访问静态方法。
1 2 3 4 |
|
1,parent关键字 可以用于 调用 父类中被子类重写了的方法
2,self关键字 可以用于 访问 类自身的成员方法,
也可以用于 访问 自身的静态成员和类常量
不能 用于访问 类自身的属性
使用常量的时候 不需要在常量名称前面添加$符号
3,static关键字 用于 访问 类自身定义的静态成员
访问静态属性时 需要在属性名称前面添加$符号
self关键字 访问
parent关键字
方法重写及其它注意事项
用parent关键字可以访问父类中被子类重写的方法 eg:
parent::test();
parent关键字可以用于调用父类中被子类重写了的方法
self关键字可以用于访问类自身的成员方法,也可以用于访问自身的静态成员和类常量(类中const定义的变量);不能用于访问类自身的属性;使用常量的时候不需要在常量名称前面加$符号
static关键字用于访问类自身定义的静态成员,访问静态属性时需要在属性前面加$符号
1、parent关键字可以调用父类中的方法。即使是被子类重写了。
2、self关键字可以调用类自身的成员变量和方法,不管是静态成员或者类常量(const CONST_VALUE=“”)
3、static关键字用于访问类自身的静态成员。
其实讲解的老师表达的意思应该是“自身的非静态属性”。
注意区分this self static parent
this self static用于类自身数据访问,parent用于父类数据访问
对于属性,this可以访问非静态属性,self static parent用于静态属性。
对于方法,this self parent可以访问静态、非静态方法,static可以访问静态方法。
1 2 3 4 |
|
self关键字可以用于访问类自身的成员方法,也可以用于访问自身的静态成员和类常量,不能用于访问类自身的属性(别看糊涂了,类常量和属性讲的不是一个东西);使用常量的时候不需要在常量名称前面添加$符号,如:const Const_Value = "this is a const";echo self::Const_Value;
1. parent关键字可以用于调用(即访问)父类中被子类重写的方法;
2. self关键字不仅可以用于访问类自身的静态成员(即静态属性和静态方法),也可以用于访问类自身的成员方法(即静态和非静态的方法都可以使用self访问)和类中定义的常量(const Const_Value="";这是在类中定义常量的格式);
但不能用于访问类自身的非静态属性; 访问常量的时候不需要在常量名称前面加$符号,举例self::Const_Value;;
3. static关键字用于访问自身定义的静态成员(即静态属性和静态方法);访问静态属性时需要加$符号;
parent关键字可以用于调用父类中被子类重写的方法;
用parent关键字可以访问父类中被子类重写的方法