在變數和函數前面protected稱為存取修飾符,透過附加存取修飾符,您可以設定存取函數的權限(存取權限),這篇文章我們就來介紹一下關於php中存取修飾符的用法。
為什麼需要存取權限?
防止覆蓋變數名稱和函數名稱
我們下來看public的使用,public是可以從任何地方存取的最廣泛的存取限定符。
假設A先生開發overlapFuncBase,B先生繼承overlapFuncBase創建了overlapFunc的例子。
<?php class 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是相同的,覆蓋了它。
所以這時就需要存取修飾符。
<?php class 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中文網其他相關文章!