熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php面向對象public private protected 訪問修飾符

2013-11-15 12:25:47  來源: PHP編程 
本篇文章是對php面向對象public private protected 訪問修飾符進行了詳細的分析介紹需要的朋友參考下  

  PHP中有三種訪問修飾符分別是
public(公共的默認)
protected(受保護的)
private(私有的)
public(公共的默認)在PHP中如果類沒有指定成員的訪問修飾符默認就是public的訪問權限
protected(受保護的)被聲明為protected的成員只允許該類的子類進行訪問
private(私有的 ) 被定義為private的成員對於類內部所有成員都可見沒有訪問限制對類外部不允許訪問

圖解

demo

復制代碼 代碼如下:

  
class Woman{
public $name = "gaojin";
protected $age = "";
private $height = "";
function info(){
echo $this>name;
}
private function say(){
echo "這是私有的方法";
}
}
//$w = new Woman();
//echo $w>info();
//echo $w>name;//公共屬性可以訪問
//echo $w>age;// 受保護屬性報致命錯誤
//echo $w>height;// 受保護屬性報致命錯誤
//私有方法訪問出錯
//$w>say(); // 私有方法訪問出錯
class Girl extends Woman{
// 可以重新定義父類的public和protected方法但不能定義private的
//protected $name = "jingao"; // 可以從新定義
function info(){
echo $this>name;
echo $this>age;
echo $this>height;
}
function say(){
//parent::say();//私有方法 不能被繼承 如果父類的的say方法是protected 這裡就不會報錯
echo "我是女孩";
}
}
$g = new Girl();
$g>say();//正常輸出
//echo $g>height;//私有屬性訪問不到 沒輸出結果
//$g>info();//這是輸出 gaojin $height是私有的屬性沒有被繼承
//$g>height ="";//這裡是重新定義 height屬性 也賦值了
//$g>info();//所以這裡會輸出來gaojin


From:http://tw.wingwit.com/Article/program/PHP/201311/20932.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.