PHP面向對象訪問控制public,protected,private

今天一直在糾結如何讓類的封裝更好,於是稍稍深入的研究了一下php中類的訪問控制。大概歸納如下:

public我想應該不用解釋什麼了吧。主要是protected和private,

一、protected只是不能在外部使用,在子類及其子類都是可以訪問的,但是這裏要注意什麼是外部與內部。

內部是指類的內部,比如

 

  1. $a = new A();  
  2. $a -> show();  
  3. /*如果show是A中的protected方法,這裏訪問就是外部訪問了  
  4. 內部訪問是指在類裏面比如  
  5. */ 
  6. class A{  
  7. protected function show(){  
  8.  echo "protected";  
  9. }  
  10. public function pshow(){  
  11.  $this->show();//這樣就是內部訪問,是正確的  
  12. }  

二、private 是只能在定義該方法的類的內部訪問的,子類也不能訪問,更別說外部訪問了,在上面已經說了內部與外部區別了,所以,這個理解就很容易了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章