<?php
class Person{
var $name;
var $age;
var $sex;
//PHP的构造方法:
//1,在对象被创建以后最先"自动"调用的方法!
//2,需要魔术方法__construct();来进行构造方法(可以理解为函数)!
//3,目的:给对象的成员进行初始化。
function __construct($name="",$age=0,$sex="男"){
// $this关键字实现了对象内部的成员访问(逻辑关系)。
// $this代表了引用对象的本身。
// 如:$p1 = new Person; 则$this关键字代表了$p1本身指向的对象。
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
function say(){
echo "我的名字:{$this->name},我的年龄:{$this->age},我的性别:{$this->sex}。<br />";
}
function run(){
}
function eat(){
}
//PHP的析构方法:
//1,在对象被释放之前最后"自动"调用的方法!
//2,需要魔术方法__destruct();来进行析构方法(可以理解为函数);
//3,目的:关闭一些资源,做一些清理工作。
function __destruct(){
echo $this->name."再见!<br />";
}
}
$p1=new Person("张三",20,"女");
$p2=new Person("李四",25);
$p3=new Person("王五");
/*
$p1->name="zhangsan";
$p2->name="lisi";
$p3->name="wangwu";
*/
$p1->say();
$p1=null;//PHP5中一旦对象的引用找不到对象,其垃圾回收机制会立即回收掉$p1的对象,所以会首先执行析构方法,从"栈内存"中出栈!
$p2->say();
$p3->say();
?>