色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php基礎(chǔ)知識(shí):類與對(duì)象(4) 范圍解析操作符(::)

范圍解析操作符(也可稱作 Paamayim Nekudotayim)或者更簡單地說是一對(duì)冒號(hào),可以用于訪問靜態(tài)成員、方法和常量,還可以用于訪問被覆蓋類中的成員和方法。 
當(dāng)在類的外部訪問這些靜態(tài)成員、方法和常量時(shí),必須使用類的名字。
把 Paamayim Nekudotayim 在希伯萊文就是雙冒號(hào)的意思。 

在類的外部使用 :: 操作符
class MyClass {
   const CONST_VALUE = 'A constant value';
}

echo MyClass::CONST_VALUE;

self 和 parent 這兩個(gè)特殊的關(guān)鍵字是用于在類的內(nèi)部對(duì)成員或方法進(jìn)行訪問的。 

例子:
class OtherClass extends MyClass
{
   public static $my_static = 'static var';

   public static function doubleColon() {
       echo parent::CONST_VALUE . " n";
       echo self::$my_static . " n";
   }
}
OtherClass::doubleColon();

當(dāng)一個(gè)子類覆蓋其父類中的方法時(shí),php 不會(huì)再執(zhí)行父類中已被覆蓋的方法,直到子類中調(diào)用這些方法為止。(是不是廢話?不是,這是php與其他主流語言的一點(diǎn)區(qū)別)。這種機(jī)制也作用于構(gòu)造函數(shù)和析構(gòu)函數(shù)、重載及魔術(shù)函數(shù)。 

class MyClass
{
   protected function myFunc() {
       echo "MyClass::myFunc() n";
   }
}

class OtherClass extends MyClass
{
   // 覆蓋父類中的方法
   public function myFunc()
   {
       // 但仍然可以調(diào)用已被覆蓋的方法
       parent::myFunc();
       echo "OtherClass::myFunc() n";
   }
}

$class = new OtherClass();
$class->myFunc();




--------------------------------------------------------------------------------
??重點(diǎn)??訪問靜態(tài)方法或者成員時(shí)一定要使用類名::的方式。
另外就是注意:php不會(huì)主動(dòng)調(diào)用父類的方法,包括構(gòu)造函數(shù)和析構(gòu)函數(shù)在內(nèi)。
參見這個(gè)文字:http://163xiaofan.blog.163.com/blog/static/1713578020061027101820973 

php技術(shù)php基礎(chǔ)知識(shí):類與對(duì)象(4) 范圍解析操作符(::),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 金堂县| 阜新市| 阿鲁科尔沁旗| 祁门县| 兴仁县| 龙川县| 卢氏县| 墨玉县| 日照市| 临西县| 三门县| 额尔古纳市| 恩平市| 安义县| 宜君县| 刚察县| 鄯善县| 荔浦县| 桦南县| 中超| 勐海县| 叶城县| 扎囊县| 铁岭县| 宾川县| 石首市| 荣昌县| 连城县| 通海县| 屯门区| 虎林市| 封开县| 石首市| 加查县| 万宁市| 富源县| 德昌县| 马山县| 扶余县| 永福县| 铜陵市|