您好,登錄后才能下訂單哦!
本篇內容介紹了“php有哪些訪問控制符”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
php的訪問控制符有:1、public,將屬性或方法設置為可從任何地方訪問;2、private,將屬性或方法設置為只能由其自己的類或對象訪問;3、protected,將屬性或方法設置為可由其類或其后代訪問。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
訪問控制修飾符列表
訪問修飾符 | 含義 |
---|---|
Public | 將屬性或方法設置為可從任何地方訪問 |
Private | 將屬性或方法設置為只能由其自己的類或對象訪問 |
Protected | 將屬性或方法設置為可由其類或其后代訪問 |
public
公共屬性和方法可以從任何地方訪問。
<?PHP class Book { public $Name; public function say() { print "PHP!\n"; } } class PythonBook extends Book { public function say() { print "Python!\n"; } } $aBook = new PythonBook; $aBook->Name = "Python"; print $aBook->Name; ?>
默認情況下,所有類方法都是public的。
上面的代碼生成以下結果。
private
私有屬性只能在自己的類中訪問。
<?PHP class Book { private $Name; private $NameTag; public function setName($NewName) { // etc } } ?>
子類無法訪問私有父方法和屬性。如果你想這樣做,你需要protected關鍵字。
Protected
受保護的屬性和方法可在其自己的類和子類中訪問。考慮下面的代碼:
<?PHP class Book { public $Name; protected function getName() { return $this->Name; } } class Poodle extends Book { public function say() { print ""Book", says " . $this->getName(); } } $aBook = new Poodle; $aBook->Name = "PHP"; $aBook->say(); ?>
上面的代碼生成以下結果。
例子
下面的代碼顯示了如何使用Private成員隱藏信息。
<?php class Widget { private $name; private $price; private $id; public function __construct($name, $price) { $this->name = $name; $this->price = floatval($price); $this->id = uniqid(); } //checks if two widgets are the same public function equals($widget) { return(($this->name == $widget->name) AND ($this->price == $widget->price)); } } $w1 = new Widget("Cog", 5.00); $w2 = new Widget("Cog", 5.00); $w3 = new Widget("Gear", 7.00); //TRUE if($w1->equals($w2)) { print("w1 and w2 are the same<br>\n"); } //FALSE if($w1->equals($w3)) { print("w1 and w3 are the same<br>\n"); } //FALSE, == includes id in comparison if($w1 == $w2) { print("w1 and w2 are the same<br>\n"); } ?>
上面的代碼生成以下結果。
“php有哪些訪問控制符”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。