在php中protected是私有變量,若該成員被聲明稱protected(保護),則代表只能在該類和該類的子類中使用該字段,而const是一個常量它的值一旦賦值不能被改變,下面看兩個例子.
const屬性:用const屬性定義的字段是一個常量,類中的常量和靜態變量類似,不同之處就是常量的值一旦賦值不能被改變.const定義常量不需要加$符號,其結構形式如下:
const 常量名稱 //常量名稱不能用$符號
1、常量屬性用 const 關鍵字來聲明,不像常規屬性一樣用美元符$開頭;
2、按照慣例,只能用大寫字母來命名常量;
3、和全局變量一樣,類常量一旦設置后就不能改變;
4、只包含基本數據類型的值,不能將一個對象指派給常量;
5、像靜態屬性一樣,只能通過類而不能通過類的實例(對象)訪問常量;
6、引用常量時不需要用美元符號為前導符;
7、給已經聲明過的常量賦值會引起解析錯誤;
8、當需要在類的所有示例中都能訪問某個屬性,并且屬性值無需改變時,應該使用常量。
PHP實例代碼如下:
- <?php
- header('Content-type:text/html;charset=utf-8');
- class ShopProduct{
- const GUOWANPIAOPEN = "郭碗瓢盆";
- const BLOGTITLE = "美好生活的開始!";
- //...
- public function sayHello(){
- print ShopProduct::GUOWANPIAOPEN."-".ShopProduct::BLOGTITLE."<br />";
- // 注意,每次引用常量都必須指向當前類(當前類名加兩個冒號)
- //print self::GUOWANPIAOPEN."-".self::BLOGTITLE."<br />";
- // 這里 self 關鍵字指向當前類,作用與上面一樣
- }
- }
- print ShopProduct::sayHello();
- //print ShopProduct::GUOWANPIAOPEN;
- ?>
protected屬性:
protected限定的字段作用域在public和private之間,若該成員被聲明稱protected(保護),則代表只能在該類和該類的子類中使用該字段.
PHP實例代碼如下:
- class me{
- protected $Money =100;
- protected $price1=60;
- public function Sell($price){
- if($this->price1<=$price){
- echo "好,賣給你了.
- ";
- $this->Money = $this->Money+$price;
- return "我現在總共有 ".$this->Money." 元錢";
- }
- else{
- echo "我不賣 ,$price 太便宜了
- ";
- return "現在我還是 ".$this->Money." 元錢";
- }
- }
- }
- $now=new me;
- echo $now->Sell(30);
- ?>
新聞熱點
疑難解答