魔术方法之——构造函数与析构函数
定义:
构造函数:
在一个类中声明一个函数,命名为__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
# 这是一个析构方法%
更多精彩内容,关注下面的微信公众号~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。