构造函数:

1、在实例化类的时候会被自动触发;

2、一个类只有一个构造函数;

3、一般用于初始化操作;

4、没有返回值。

语法:

function__construct([参数列表]){.........}

例子:

<?phpclassPerson{public$name;public$sex='女';public$age;public$money;public$face;//构造方法publicfunction__construct($name,$age,$money,$face='女人都是漂亮的'){//属性初始化$this->name=$name;$this->age=$age;$this->money=$money;$this->face=$face;}publicfunctionsay(){echo"我的名字是{$this->name},<br>我的年龄是{$this->age},<br>我有{$this->money}元钱,<br>{$this->face}";}

//实例化类并赋值

$lixiaolou=newPerson('李小龙',11,1234);$lixiaolou->say();

输出的结果:


析构函数:

1、 销毁一个类之前执行析构函数

2、先调用的后消失 后调用的先消失

3、不能带参数

语法:

function__destruct(){......}

例子:


在上一个构造函数源代码的后面添加

publicfunction__destruct(){echo"消失了{$this->name}<br>";}

输出结果:

注意:析构函数是 先调用的后消失 后调用的先消失

<?php/***定义一个“人类”*/classPerson{public$name;public$sex='女';public$age;public$money;public$face;//构造方法publicfunction__construct($name,$age,$money,$face='女人都是漂亮的'){//属性初始化$this->name=$name;$this->age=$age;$this->money=$money;$this->face=$face;}publicfunctionsay(){echo"我的名字是{$this->name},<br>我的年龄是{$this->age},<br>我有{$this->money}元钱,<br>{$this->face}";$this->daojiu();}publicfunctiondaojiu(){echo"给老板们倒酒<br/>";}//先调用的后消失后调用的先消失//先是陈消失了然后是李小龙消失publicfunction__destruct(){echo"消失了{$this->name}<br>";}}$lixiaolou=newPerson('李小龙',11,1234);$lixiaolou->say();echo"<hr>";$senlin=newPerson('陈',12,123);$senlin->say();


输出:



注意:调用的顺序和销毁的顺序是不一样的。