魔术方法之——构造函数与析构函数

定义:

构造函数:

在一个类中声明一个函数,命名为__construct,在建立一个对象实例时被执行,像其它任何函数一样,构造函数可能有参数或者默认值。

构造函数和其它方法一起被继承时,他们不会在创建对象时被执行。如果你需要这个功能,你需要用::运算符。 它允许你指向一块命名空间。parent指向父类命名空间,你可以用parent::__construct来调用父类的构造函数。

析构函数:

在一个类中声明一个函数,名为__destruct,PHP将在对象被销毁前调用这个函数,析构函数不可以有参数或默认值。

默认地,PHP仅仅释放对象属性所占用的内存并销毁对象相关的资源,但是析构函数是PHP调用它们将一个对象从内存中销毁,析构函数允许你在使用一个对象之后执行任意代码来清除内存。

注意:__是两个下划线。

例子:

<?php

class Car{
    // 下面是车的属性
    private $color;
    private $name;

    public function __construct($color,$name) {
        $this->color = $color;
        $this->name = $name;
    }

    public function printCar(){
        echo '汽车颜色是'.$this->color."\n";
    }

    public function __destruct(){
        echo"这是一个析构方法";
    }

}

$obj = new Car('red','bmw mini');
$obj->printCar();

#-----output-------
# 假设上述文件名是1.php
# ➜  php 1.php
#  汽车颜色是red
#  这是一个析构方法%      

更多精彩内容,关注下面的微信公众号~
扫码_搜索联合传播样式-标准色版.png


喝醉的清茶
165 声望15 粉丝