>name; 当在定义字段的类中引用字段时要使用$this 关键字。$this 表示当前类 第二 属性 1、__set() //两个下划线 Class Staff { public $name="lucky"; function __set($propname,$propvalue) { echo "Noexistent varible:\$$propname"; } } 可用来验证某个属性是否存在或增加新的属性 2、__get() //两个下划线 Class Staff { public $name="lucky"; function __get($propname) { return $this-> $propname; } } 它接受一个属性名作为输入参数,获取该属性的值。 3、 自定义获取方法和设置方法 访问类成员变量有一个特殊的一指针$this。通过该指针,可以方便地访问类属性或者给类属 性赋值。
class Person { var $name; //定义属性 function get_name() //无参数 { return $this->name; //$this 去访问和设置当前对象的$name 属性 } function set_name($new_name) // 有参数 { $this->name = $new_name; //同上注释 echo $this->name; } } 第三 方法 方法和函数非常相似,只不过方法是用来定义特定类的行为。与函数一样,方法可
以接 受参数,并可以返回一个值。方法的调用只是在方法前面加上调用方法的对象的名称,如下 $object->methodname(); 1、声明方法 Class Staff { public function show() { echo "调用了方法"; } } 2、调用方法 $employee=new Staff(); $employee->show(); 控制对类的成员访问 (1)public :在任何位置都可以读取和修改这个成员变量或者调用这个方法。这个修饰符 在外部代码使用,由给定类中的代码使用,或者在扩展给定类的功能的类中使用。 (2)private : 只有这个类中的代码才能读取和修改私有变量或者调用私有成员函数。其他 代码、类或者扩展这个类的功能类(子类)不能使用私有条目。 (3)protected : 外部代码与给定类不相关的其他类不能读取或者修改使用了关键字 protected 的成员变量,也不能调用受保护的成员函数。 构造函数 构造函数是类中的一个特殊函数,当使用 new 操作符创建一个类的实例时,构造 函数将会自动调用。 Php5 中以__construct()作为构造函数。而 php4 中是以将和类名相同的函数作为构造函数。 为了兼容 php5 先寻找__construct(),如果找不到再寻找以类名命名的构造函数
如果一个类没有构造函数,则调用基类的构造函数,如果有的话。 Class Staff { function __construct() //两个下划线 { echo "调用了构造函数"; } function Staff() { echo "调用了构造函数 2"; } } $employee=new Staff(); 析构函数 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。 脚本执行结束时,php 会撤销内存中的所有对象,因此如果实例化时创建的信息 都会保留到内存中, 就不需要显式的声明析构函数。 但是如果创建了不那么容易丢失的数据 时(例如连接数据库)就应当定制析构函数进行销毁数据。 Class Staff { function __construct() { echo "调用了构造函数"; } function __destruct() { echo "调用了析构函数"; } } $employee=new Staff(); 静态类成员 当需要要一些所有类对象共享的字段和方法时就需要创建一些静态的字段和方法。 Class Staff { public static $name="静态字段"; static function show() { echo self::$name,"
"; } } echo Staff::$name,"
";