重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法是对象创建完成后第一个被对象自动调用的方法,这也是我们在对象中使用构造方法的原因。而析构方法是对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁前的清理工作。
创新互联公司主营乌拉特中网站建设的网络公司,主营网站建设方案,成都app开发,乌拉特中h5小程序定制开发搭建,乌拉特中网站营销推广欢迎乌拉特中等地区企业咨询1、构造方法
在类中声明构造方法的格式如下:
function __construct(参数列表){ //构造方法名称是以两个下划线开始的 __construct()
//方法体,通常用来对成员属性进行初始化赋值
}
class person{
//下面是声明人的成员属性,都是没有初值的,在创建对象时,使用构造方法赋初值
var $name;
var $sex;
var $age;
//声明一个构造方法,将来创建对象时,为对象的成员属性赋予初值,参数中都使用了默认参 数
function __construct($name="",$sex="男",$age="1"){
$this->name=$name; //在创建对象时,使用传入的参数$name为成员属性 $this->name赋初值
$this->sex=$sex; //在创建对象时,使用传入的参数$sex为成员属性$this- >sex赋初值
$this->age=$age; //在创建对象时,使用传入的参数$age为成员属性$this- >age赋初值
}
function say(){
echo "我的名字:".$this->name.";我的性别:".$this->sex.";我的年 龄:".$this->age."。
";
}
function run(){
echo $this->name."在走路
";
}
}
//下面三行中实例话person类的三个实例对象,并使用构造方法分别为新创建的成员属性赋予初值
$person1=new person("张三","男","40"); //创建对象$person1时会自动执行构造方法,将全 部参数传给它
$person2=new person("李四","女"); //创建对象$person1时会自动执行构造方法,传入前两个 参数
$person3=new person("王五"); //创建对象$person1时会自动执行构造方法,只传入一个参数
$person1->say();
$person1->run();
$person2->say();
$person2->run();
$person3->say();
$person3->run();
?>
代码运行结果如下所示:
2、析构方法
析构方法的声明格式与构造方法相似,在类中声明的析构方法名称也是固定的,也是以两个下划线开头的方法名“__destruct”,而且析构函数不能带有任何参数。在类中声明析构方法的格式如下:
function __destruct(){ //析构方法名称是以两个下划线开始的__destruct()
//方法体,通常用来完成一些在对象销毁前的清理任务
}
class person{
var $name;
var $sex;
var $age;
function __construct($name,$sex,$age){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
function say(){
echo "我的名字:".$this->name.";我的性别:".$this->sex.";我的年龄:".$this->age."。
";
}
function run(){
echo $this->name."在走路
";
}
//声明的析构方法,在对象销毁前自动调用
function __destruct(){
echo "再见".$this->name."
";
}
}
$person1=new person("张三","男","40");
$person1=null; //第一个对象将失去引用
$person2=new person("李四","女","20");
$person3=new person("王五","男","50");
?>
代码运行结果为:
因为对象的引用都是存放在栈内存中的,由于栈的后进先出的特点,最后创建的对象引用会被最先释放,所以先自动调用第三个对象的析构方法,最后才自动调用第二个对象的析构方法。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。