public:方法或者屬性在任何作用域都可以訪問到,而且這是默認的,如果沒有為一個屬性或方法指定訪問修飾符,它將是public。
protected:方法或者屬性只能從類或者繼承類的一個成員中訪問到。
private:方法或者屬性只能從類的一個成員中訪問到,而且無法從繼承類的成員中訪問到。經過private標記的方法或者屬性可以在繼承類中重新定義。每一個類只能看到它自己定義的私有方法。
這三個修飾符從作用范圍上來講應該像這樣從大到小排序:
public→protected→private之所以說是在作用范圍上是因為類跟我們之前的函數一樣,把一些屬性和方法進行了PHP類的封裝。這個封裝就決定了數據的“可見性”了,這樣我們在類的外面不能夠隨意修改所定義的屬性和方法而只能夠進行調用,這就是封裝的好處,同時也提高了安全性。為了說明這幾個修飾符的作用,請看如下代碼:
< ?php class myClass{ public $public="Public"; protected $protected="Protected"; private $private="Private"; function say_Hello(){ //我現在什么也不做,等下再告訴你 } } $obj=new myClass(); echo $obj->public; //echo $obj->protected; //echo $obj->private; ?> < ?php class myClass{ public $public="Public"; protected $protected="Protected"; private $private="Private"; function say_Hello(){ //我現在什么也不做,等下再告訴你 } } $obj=new myClass(); echo $obj->public; //echo $obj->protected; //echo $obj->private; ?>
通過運行以上示例我們得到一個“Public”,但當你把//echo $obj->private;的注釋去掉時,你會得到一下如下的錯誤:Fatal error: Cannot access protected property myClass::$protected in E:/apache/htdocs/example/file.php on line 13。
可以看到我們不能隨意去訪問類的屬性定義,也就是我們不能去修改PHP類的封裝中已經定義的一些操作,這就是可見性了。我們在“外面”是不知道這個類中到底有那些成員,因為這些成員對于其他的類可能是不可見的。
當然如果我們一定要訪問或者修改定義為“私有”的屬性時,也可以使用PHP所提供的系統方法:_get()和_set()。關于這個在以后再來了解,因為現在我對此也只是有個了解啦。
相關文章推薦:
PHP封裝的HttpClient類用法實例,封裝httpclient
PHP類的封裝與繼承詳解,php封裝詳解
相關視頻推薦:
用PHP面向對象思想實現對各個類進行封裝處理
以上就是php類的封裝是什么意思?php類的封裝的解析的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答