手机
当前位置:查字典教程网 >编程开发 >php教程 >php基础知识:类与对象(4) 范围解析操作符(::)
php基础知识:类与对象(4) 范围解析操作符(::)
摘要:范围解析操作符(也可称作PaamayimNekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量,还可以用于访问被...

范围解析操作符(也可称作PaamayimNekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量,还可以用于访问被覆盖类中的成员和方法。

当在类的外部访问这些静态成员、方法和常量时,必须使用类的名字。

把PaamayimNekudotayim在希伯莱文就是双冒号的意思。

在类的外部使用::操作符

classMyClass{

constCONST_VALUE='Aconstantvalue';

}

echoMyClass::CONST_VALUE;

self和parent这两个特殊的关键字是用于在类的内部对成员或方法进行访问的。

例子:

classOtherClassextendsMyClass

{

publicstatic$my_static='staticvar';

publicstaticfunctiondoubleColon(){

echoparent::CONST_VALUE."n";

echoself::$my_static."n";

}

}

OtherClass::doubleColon();

当一个子类覆盖其父类中的方法时,PHP不会再执行父类中已被覆盖的方法,直到子类中调用这些方法为止。(是不是废话?不是,这是PHP与其他主流语言的一点区别)。这种机制也作用于构造函数和析构函数、重载及魔术函数。

classMyClass

{

protectedfunctionmyFunc(){

echo"MyClass::myFunc()n";

}

}

classOtherClassextendsMyClass

{

//覆盖父类中的方法

publicfunctionmyFunc()

{

//但仍然可以调用已被覆盖的方法

parent::myFunc();

echo"OtherClass::myFunc()n";

}

}

$class=newOtherClass();

$class->myFunc();

--------------------------------------------------------------------------------

??重点??访问静态方法或者成员时一定要使用类名::的方式。

另外就是注意:PHP不会主动调用父类的方法,包括构造函数和析构函数在内。

参见这个文字:http://163xiaofan.blog.163.com/blog/static/1713578020061027101820973

【php基础知识:类与对象(4) 范围解析操作符(::)】相关文章:

使用MaxMind 根据IP地址对访问者定位

php获取系统变量方法小结

PHP SPL标准库之数据结构堆(SplHeap)简单使用实例

php编写的抽奖程序中奖概率算法

php实现的mongodb操作类

不用GD库生成当前时间的PNG格式图象的程序

php正则preg_replace_callback函数用法实例

用文本文件制作留言板提示(上)

php实现读取和写入tab分割的文件

PHP5在Apache下的两种模式的安装

精品推荐
分类导航