构造方法和析构方法

Posted zsyzsyzsyzsyzsy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造方法和析构方法相关的知识,希望对你有一定的参考价值。

构造方法

构造方式是类中的一个“特殊”方法,其作用是在实例化一个对象的同时,给该对象的属性赋值,使之一创建完成,就具有了其本身的特有数据(属性值)。

1,该方法名字是固定的,为:__construct();

2,该方法必须是普通方法(不能是静态方法)

3,通常该方法应该是public

4,通常该方法中使用$this这个关键字来对属性进行赋值

5,当new 类名()的时候,其实是在调用该构造方法

6,如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配

 

结果为:

 

 

析构方法

构造方法是“创建”对象的时候会自动调用。

析构方法是“销毁”对象的时候会自动调用。

 

系统方法通常用于在销毁对象的时候来“清理数据”(打扫战场)——如果需要,就可以利用这个机会去处理。

 

通常,php程序结束后,所有对象都会自动销毁(其实属于php内部的垃圾回收机制)

 

说明:

1,析构方法通常不太需要去定义。

2,析构方法不能调用。

3,析构方法不能有形参。

4,析构方法中可以用于清理一些在php代码结束后不能清理的数据,如生成的文件。

对象销毁的几个情形:

  • 脚本程序运行结束,自动销毁;
  • 明确地unset()一个对象变量,则被销毁;
  • 改变对象变量的值,被销毁;

实际上,更本质来说,当一个对象(new 出来的对象)没有任何一个变量指向它的时候,该对象就会被自动销毁——自然,如果整个程序结束,也会销毁。

 

以上是关于构造方法和析构方法的主要内容,如果未能解决你的问题,请参考以下文章

构造方法和析构方法

构造方法和析构方法

python_魔法方法:构造和析构

构造方法和析构函数,重点讲解

使用Python定义构造函数和析构函数

有没有自动化的方法来实现构造函数后和析构函数前的虚拟方法调用?