好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php类中protected与const属性详解 - php面向对象

php类中protected与const属性详解

在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);              ?> 

查看更多关于php类中protected与const属性详解 - php面向对象的详细内容...

  阅读:39次