PHP就业快学课堂10,构造方法与析构方法
一.构造方法
大多数的类中,都有一种被称为构造方法的特殊方法。当创建对象时自动调用这个构造方法。
当使用new实现这个实例化对象时自动调用. 其名称必须是__construct()。(注意__的输入是两个下划线)。
格式:
Function__construct([可选参数]){
方法体语句
}
注意事项:
一个类中只能有一构造方法;
案例:
class animal{
// 定义三个成员属性
public $name ='';
public $age ='';
public $color ='';
// 创建构造方法
function __construct($name,$age,$color){
$this->name = $name; //通过构造方法将传入的$name给成员属性赋初值
$this->age = $age;
$this->color = $color;
}
function getInfo(){
echo '动物名字叫:' .$this->name .'
';
echo '动物年龄是:' .$this->age .'
';
echo '动物颜色是:' .$this->color .'
';
}
}
$dog = new animal('小狗','2岁','白色'); //创建小狗对象并传入实参名字、年龄、颜色
$dog->getInfo();
运行结果 :
二。析构方法
析构方法允许在销毁一个类之前执行一些操作,如关闭文件、释放结果等 。对象在内存中被销毁前调用析构方法。类的析构方法名称必须是__destruct 。析构方法不能带有参数。
格式:
Function __destruct(){
方法体;
}
下面续用上面的案例,在其中加入析构方法:
class animal{
// 定义三个成员属性
public $name ='';
public $age ='';
public $color ='';
// 创建构造方法
function __construct($name,$age,$color){
$this->name = $name; //通过构造方法将传入的$name给成员属性赋初值
$this->age = $age;
$this->color = $color;
}
function getInfo(){
echo '动物名字叫:' .$this->name .'
';
echo '动物年龄是:' .$this->age .'
';
echo '动物颜色是:' .$this->color .'
';
}
// 定义析构方法
function __destruct(){
echo '这个对象已释放!';
}
}
$dog = new animal('小狗','2岁','白色'); //创建小狗对象并传入实参名字、年龄、颜色
$dog->getInfo();
$dog->getInfo(); //两次调用小狗的getInfo()后。会自动执行析构方法
运行结果:
领取 专属20元代金券
Get大咖技术交流圈