久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP基礎之類和對象8——范圍解析操作符(::)

瀏覽:3日期:2022-09-14 17:49:33

范圍解析操作符(也可稱作 Paamayim Nekudotayim)或者更簡單地說是一對冒號,可以用于訪問靜態成員,類常量,還可以用于覆蓋類中的屬性和方法。

當在類定義之外引用到這些項目時,要使用類名。

自 PHP 5.3.0 起,可以通過變量來引用類,該變量的值不能是關鍵字(如?self,parent?和?static)。

把 Paamayim Nekudotayim 選作雙冒號操作符的名字似乎有些奇怪。然而,這是 Zend 開發小組在寫 Zend Engine 0.5(被用于 PHP 3 中)時所作出的決定。事實上這個詞在希伯萊文就是雙冒號的意思。

Example #1 在類的外部使用 :: 操作符

class MyClass{ const CONST_VALUE = 1;}$classname = ’MyClass’;echo $classname::CONST_VALUE; //自PHP5.3.0起echo MyClass::CONST_VALUE;

self,parent 和 static 這三個特殊的關鍵字是用于在類定義的內部對其屬性或方法進行訪問的。

Example #2 在類定義內部使用 ::

function __autoload($classname){ require_once($classname.'.php');}class OtherClass extends MyClass{ public static $my_static = 1; public static function doubleColon(){echo parent::CONST_VALUE.’<br>’;echo self::$my_static,’<br>’; }}$classname = ’OtherClass’;echo $classname::doubleColon();OtherClass::doubleColon();

當一個子類覆蓋其父類中的方法時,PHP 不會調用父類中已被覆蓋的方法。是否調用父類的方法取決于子類。這種機制也作用于構造函數和析構函數,重載以及魔術方法。

Example #3 調用父類的方法

class MyClass{ protected function myFunc() {echo ’MyClass::myFunc()<br>’; }}class OtherClass extends MyClass{ //覆蓋了父類的定義 public function myFunc() {//但還是可以調用父類中被覆蓋的方法parent::myFunc();echo ’OtherClass::myFunc()<br>’; }}$class = new OtherClass();$class -> myFunc();

輸出結果:

MyClass::myFunc()

OtherClass::myFunc()

標簽: PHP
相關文章:
主站蜘蛛池模板: 博乐市| 湄潭县| 图木舒克市| 汉川市| 万安县| 永修县| 桐庐县| 石嘴山市| 托里县| 凌云县| 利津县| 永靖县| 闽侯县| 乌兰县| 新余市| 龙口市| 大关县| 家居| 调兵山市| 西和县| 白河县| 彭阳县| 加查县| 太白县| 沐川县| 始兴县| 高要市| 五河县| 游戏| 彰化县| 刚察县| 荥阳市| 永丰县| 天台县| 北京市| 武陟县| 萨迦县| 根河市| 正安县| 长阳| 乌拉特前旗|