public 表示全局,類內部外部子類都可以訪問;
private表示私有的,只有本類內部可以使用;
protected表示受保護的,只有本類或子類或父類中可以訪問;
- <?
- //父類
- class father{
- public function a(){
- echo "function a";
- }
- private function b(){
- echo "function b";
- }
- protected function c(){
- echo "function c";
- }
- }
- //子類
- class child extends father{
- function d(){
- parent::a();//調用父類的a方法
- }
- function e(){
- parent::c(); //調用父類的c方法
- }
- function f(){
- parent::b(); //調用父類的b方法
- }
- }
- $father=new father();
- $father->a();
- $father->b(); //顯示錯誤 外部無法調用私有的方法 Call to protected method father::b()
- $father->c(); //顯示錯誤 外部無法調用受保護的方法Call to private method father::c()
- $chlid=new child();
- $chlid->d();
- $chlid->e();
- $chlid->f();//顯示錯誤 無法調用父類private的方法 Call to private method father::b()
- ?>
復制代碼
以上是自己對private和public還有protected 三者的個人理解。