赞
踩
在类中定义的变量称之为属性,通常属性根数据库中的字段有一定的关联,因此
也可以称其为"字段"。
常见的属性声明是由关键字public,protected,var或private开头,后面跟一个普通的变量声
来组成。还有一些成员属性包括,静态static,常量const。
public:默认值,表示全局的,类内部外部子类都可以访问。
protected:表示受保护的,只有本类或子类或父类中可以访问,不允许外部调用。
private:表示私有的,只有本类内部可以使用。
Var:php 5 版本中会认为这个成员属性为public类型的属性。
Static:
(1)静态的属性;
(2)用static修饰的成员属性可以被同一个类的所有对象共享;
(3)静态的数据是在类第一次被加载的时候就存在了内存中的数据段中(初始化静态段);
(4)类中使用self::成员属性名;
(5)类外 类名::成员属性名;
Const:
(1)类中常量属性,在类中声明常量必须使用const;
(2)类中使用 self::成员属性名;
(3)类外使用 类名::成员属性名;
注意:属性中的变量可以初始化,但是初始化的值必须是常数
(这里的常数是指php脚本在编译阶段时就为常数,而不是在编译阶段之后在运行阶
段运算出的常数。例如,不能包含任何运算符,不能是任何变量,不能是一个函数等)。
成员属性的调用方式:
在类的成员方法里面,可以通过 $this->property(property是属性名字)这种方式来
访问类的属性、 方法。但是要访问类的静态属性或者在静态方法里面却不能使用,而
是使用 self::$property。
在类的非静态方法里面可以使用伪变量 $this,这个伪变量是调用该方法的实例化对象引用。
例1:
class Car{
//定义公共属性
public $name="汽车";
//定义受保护的属性
protected $color="白色";
//定义私有属性
private $price="10000";
}
$aCar=new Car();
echo $aCar->name; //调用对象的属性
echo $aCar->color; //错误!受保护的属性不允许外部调用
echo $aCar->price; //错误!私有属性不允许外部调用
受保护的属性和私有属性不允许外部调用,在类的成员方法内部是可以调用的。
可将例1修改为如下例2:
例2:
class Car{
//定义公共属性
public $name="汽车";
//定义受保护的属性
protected $speed="100";
//定义私有属性
private $price="12";
function getPrice(){
return $this->price;
}
}
echo $aCar->getPrice();
根据此方法就可以访问类的内部的私有属性或受保护的属性。
本节完。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。