php学习笔记之--面向对象的构造与析构方法

面向对象的构造与析构方法

一、 对象中成员的访问(就是在一个对象的内部方法中,去访问本对象中的其它方法和成员属性)
二、 在对象中的方法中都默认有一个$this关键字, 这个关键字代表调用这个方法的对象
三、构造方法, 构造器
   1. 是对象创建完成以后,“第一个” “自动调用”的方法
   2. 构造方法的定义, 方法名一个固定的,
      在PHP4中 和类名相同的方法就是构造方法
      在PHP5中 构造方法选择使用魔术方法 __construct() 所有类中声明构造方法都使用这个名称
        优点: 在改变类名时,构造方法不用改变
        作用:就是为成员属性初使化;
      魔术方法:
        a.在类中写出了某个魔术方法, 这个方法对象的功能就会添加上
        b.方法名称都固定的(都是系统给我们提供好),没有自己定义的,
        c.每一个魔术方法, 都是在不同时刻为了完成某一功能自动调用的方法
        d.不同的魔术方法有不同调用时机
     e.都是以 __开头的方法
         __construct();
         __destruct();
         __set();
         __get();
         __isset();
         __unset();

PHP5中的魔术方法

面向对象常用关键字与魔术方法

四、析构方法 __destruct();:
   1. 当对象被释放之前最后一个 “自动”调用的方法
      使用垃圾回收器(java PHP)而C++手动的释放
   作用:关闭一些资源, 作一些清理的工作
View Code
<?php

class Person {
var $name;
var $age;
var $sex;

function __construct($name="", $age=0, $sex="男"){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}


function say(){
echo "我的名子:{$this->name},我的年龄:{$this->age},我的性别:{$this->sex}。<br>";
$this->eat();
}

function run(){

}

function eat(){

}

function __destruct(){
echo $this->name."再见!<br>";
}
}

$p1=new Person("zhangsan", 20, "女");
$p2=new Person("lisi", 25);
$p3=new Person("wangwu");

$p1->say();
$p1=null;
$p2->say();
$p3->say();

?>


posted @ 2011-10-09 21:33  漠北风  阅读(213)  评论(0编辑  收藏  举报