首页 > 代码库 > 构造方法和析构方法
构造方法和析构方法
构造函数:
1、在实例化类的时候会被自动触发;
2、一个类只有一个构造函数;
3、一般用于初始化操作;
4、没有返回值。
语法:
function __construct([参数列表]) { ......... }
例子:
<?php class Person { public $name; public $sex = ‘女‘; public $age; public $money; public $face; //构造方法 public function __construct($name,$age,$money,$face = ‘女人都是漂亮的‘) { //属性初始化 $this->name = $name; $this->age = $age; $this->money = $money; $this->face = $face; } public function say() { echo "我的名字是{$this->name},<br>我的年龄是{$this->age},<br>我有{$this->money}元钱,<br>{$this->face}"; }
//实例化类并赋值
$lixiaolou = new Person(‘李小龙‘,11,1234); $lixiaolou->say();
输出的结果:
析构函数:
1、 销毁一个类之前执行析构函数
2、先调用的后消失 后调用的先消失
3、不能带参数
语法:
function __destruct() { ...... }
例子:
在上一个构造函数源代码的后面添加
public function __destruct() { echo "消失了{$this->name}<br>"; }
输出结果:
注意:析构函数是 先调用的后消失 后调用的先消失
<?php /** * 定义一个“人类” */ class Person { public $name; public $sex = ‘女‘; public $age; public $money; public $face; //构造方法 public function __construct($name,$age,$money,$face = ‘女人都是漂亮的‘) { //属性初始化 $this->name = $name; $this->age = $age; $this->money = $money; $this->face = $face; } public function say() { echo "我的名字是{$this->name},<br>我的年龄是{$this->age},<br>我有{$this->money}元钱,<br>{$this->face}"; $this->daojiu(); } public function daojiu() { echo "给老板们倒酒<br/>"; } //先调用的后消失 后调用的先消失 //先是 陈 消失了 然后是 李小龙 消失 public function __destruct() { echo "消失了{$this->name}<br>"; } } $lixiaolou = new Person(‘李小龙‘,11,1234); $lixiaolou->say(); echo "<hr>"; $senlin = new Person(‘陈‘,12,123); $senlin->say();
输出:
注意:调用的顺序和销毁的顺序是不一样的。
本文出自 “你好我是森林” 博客,请务必保留此出处http://chensenlin.blog.51cto.com/10559465/1852102
构造方法和析构方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。