什麼是運算子「::」?
運算子「::」比起偽變數$this只能在類別的內部使用來說更為強大。操作符「::」可以在沒有任何宣告任何實例的情況下存取類別中的成員方法活成員變數。
運算子「::」語法:
使用"::"運算子的通用語法為:
關鍵字: :變數名稱/常數名稱/方法名稱
#注意事項:
#這裡的關鍵字不再是public、private、protected或static等,而是以下三種情況:
(1)parent :可以呼叫父類別中的成員變數、成員方法和常數;
(2)self:可以呼叫目前類別中的靜態成員和常數;
(3)類別名稱:可以呼叫本類別中的變數、常數和方法。
友情提醒:
靜態變數(方法)的相關內容可以參考本站的文章:http://www.php.cn/php-weizijiaocheng -360326.html
上面簡單的介紹了下操作符"::"的基本內容,下面我們透過一個簡單的實例來更加形象具體的了解操作符「::」的用法。
<?php header("content-type:text/html;charset=utf-8"); class Hero{ //定义类 const CHARACTER = '奥利安娜'; //定义常量,用关键字const function __construct() //父类中的构造函数 { echo '5楼要玩中单' . Hero :: CHARACTER . '不给就送'; //输出常量 echo '<br/>'; } } class I_Hreo extends Hero{ //创建子类I_Hreo继承父类 const ROLE = '亚索'; //创建常量 function __construct() //子类中创建构造函数 { parent :: __construct(); //引用父类中的构造函数 echo '4楼中单' . self :: ROLE . '贼6'; //子类中输出 } } $gamer = new I_Hreo(); //实例化
實例解釋:
在上述實例中,我們先建立了一個父類別Hero ,定義了常數,創建了建構函數,接著又創建了一個子類別I_Hreo去繼承父類別Hreo,並且在子類別中也定義了常數。接下來就是重點了,我們引用父類別中的建構子。上面我們介紹了三種情況,parent :可以呼叫父類別中的成員變數、成員方法和常數。這裡我們呼叫的是父類別中的方法,所以使用parent :: __construct()。接著,我們在子類別的建構方法中輸出子類別中定義的常數,呼叫目前類別的關鍵字,上面也介紹過,self:可以呼叫目前類別中的靜態成員和常數,所以這裡我們用self :: ROLE,最後格式化,執行一下。
結果見下圖:
以上就是對操作符'::'用法的簡單敘述,希望可以幫助大家。
以上是php物件導向之操作符'::'的用法簡述的詳細內容。更多資訊請關注PHP中文網其他相關文章!