為什么需要訪問權限?
防止覆蓋變量名稱和函數名稱
我們下來看一下html' target='_blank'>public的使用,public是可以從任何地方訪問的最廣泛的訪問限定符。
假設A先生開發overlapFuncBase,B先生繼承overlapFuncBase創建了overlapFunc的例子。
?phpclass overlapFuncBase { public $s = 1;class overlapFunc extends overlapFuncBase { public $s = 2;$obj_overlap = new overlapFunc();var_dump($obj_overlap);
結果
object(overlapFunc)#1 (1) { [ s : overlapFunc :public] = int(2)}
在B overlapFunc中,我可以使用由A先生創建的overlapFuncBase,但由于變量名$ s是相同的,覆蓋了它。
所以這時就需要訪問修飾符。
?phpclass overlapFuncBase { private $s = 1;class overlapFunc extends overlapFuncBase { private $s = 2;$obj_overlap = new overlapFunc();var_dump($obj_overlap)
結果
object(overlapFunc)#1 (2) { [ s : overlapFunc :private] = int(2) [ s : overlapFuncBase :private] = int(1)}
與第一個代碼的不同之處在于我們在變量$ s之前將訪問修飾符public更改為private。
private表示你只能在自己的類中訪問。
因此,即使是A創建的每個類都有相同變量名,現在也可以獲得不同的結果。
訪問修飾符的類型
訪問修飾符有private、protected和public
對應范圍按以下順序增加
private → protected → public
還有另一個名為static的特殊訪問修飾符,如果你指定了類名,你可以在任何地方使用它。
本篇文章到這里就全部結束了,更多精彩內容大家可以關注php 的相關欄目教程?。?!
以上就是php中訪問修飾符的介紹(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答