构造函数
- 构造函数:_ _construct()
- php 5 中 允许自行定义一个方法作为构造方法,也可以将 __construct ()作为构造方法;
- 若在类中找不到构造方法 且 继承的父类中也没有的话,会将和类名相同的方法作为构造方法;
- php 5.33后,在命名空间中,与类名同名的方法不再作为构造函数。且不影响不在命名空间中的类
- 在子类中需要调用父类的构造方法是可以使用 parent :: __construct()
- php 5 中 允许自行定义一个方法作为构造方法,也可以将 __construct ()作为构造方法;
以下就是构造函数的实例
<?php
class father{
function __construct()
{
echo "line 5: I am father's construct ".'<br>';
}
}
class son extends father{
function __construct()
{
echo "line 18 :I am son's contruce".'<br>';
parent::__construct(); //这里调用了父类的构造函数
}
}
$obj = new father();
$objs = new son();
运行结果
line 5: I am father’s construct
line 18 :I am son’s contruce
line 5: I am father’s construct
析构函数
- 析构函数: _ _destruct ()
- 会在某个对象的所有引用被删除是执行
- 和构造函数一样,若要调用父亲的析构函数,需要使用parent ::__destruct ( )
析构函数实例
<?php
class father{
function __destruct(){
echo "这里是father 类的析构函数".'<br>';
}
}
class son extends father{
function __destruct()
{
echo "这里是son 类的析构函数"."<br>";
parent::__destruct();//这里调用了父类的析构函数
}
}
$obj = new father();
$objs = new son();
示例结果
这里是son 类的析构函数
这里是father 类的析构函数
这里是father 类的析构函数