荟萃馆

位置:首页 > 计算机 > php语言

php中的构造方法与析构方法大纲

php语言3.16W

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。以下是为大家分享的php中的构造方法与析构方法,供大家参考借鉴,欢迎浏览!

php中的构造方法与析构方法大纲

构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。所以通常用它执行一些有用的初始化任务。该方法无返回值。

如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的'构造函数中调用 parent::__construct()。

与构造方法对应的就是析构方法,析构方法会在某个对象的所有引用都被删除或者当对象被显式销毁之前执行的一些操作或者功能。析构函数不能带有任何参数,其名称必须是 __destruct() 。

同样,如果子类中定义了析构函数则不会暗中调用其父类的析构函数。要执行父类的析构函数,需要在子类的析构函数中调用 parent::__destruct()。

注意:在析构函数中抛出一个异常会导致致命错误。

<?php

class Construct{

protected $a;

protected $b;

function __construct($a,$b){ //定义构造函数

$this->a=$a;

$this->b=$b;

}

function __destruct(){ //重新定义为初始值

$result=0;

echo '恢复乘积的初始值:'.$result;

}

}

class son extends construct{

private $c;

function __construct($c){

parent::__construct(6,10); //调用父类的构造方法,使用方法:parent::__construct(); 有参数加参数

$this->c=$c;

}

function show(){

$result=$this->a*$this->b*$this->c;

print 'abc的乘积是:'.$result.'&nbsp;';

}

function __destruct(){

parent::__destruct(); //调用父类的析构函数,使用方式:parent::__destruct();

}

}

$test=new son(12); //实例化对象

$test->show(); //abc的乘积是:720 恢复乘积的初始值:0

?>