构造方法,析构方法

构造方法(__construct):

构造方法,是一个特殊的方法:
1,名字是固定的:__construct;
2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用。
3,该方法主要的目的是为了在new一个对象的时候,给该对象设置一些“初始值”(初始化工作);
4,构造方法的参数没有规定,通常是根据实际的需要来定义,目的是为了对象属性数据的初始化;

先看这种没有构造方法的情形:
构造方法,析构方法_第1张图片
可见,这种方式,对对象的属性的数据值初始化不太方便,我们可以利用构造方法改进为:
构造方法,析构方法_第2张图片
子类中没有定义构造方法时,会自动调用父类的构造方法。因此实例化子类时,需按照父类的构造方法的形式进行。
子类定义了自己的构造方法,则不会自动调用父类的构造方法,但可以手动调用:parent::__construct();
析构方法(__destruct):

说明:
1,析构方法是一个特殊的方法,名字为固定的词:__desctruct
2,析构方法是在一个对象被“销毁”的时候会自动被调用的方法——我们无法调用它;
3,析构方法不能带参数(形参),但方法中也可以使用$this这个词,代表“当前对象”;
构造方法,析构方法_第3张图片
对象销毁的几种情况:
脚本程序运行结束,自动销毁;
明确地unset()一个对象变量,则被销毁;
改变对象变量的值,被销毁;

析构方法只能是public的,且不能有参数
如果一个类中定义了析构方法,则销毁对象时就会调用该方法。
如果一个类中没有定义析构方法,则销毁对象时就会调用其父类的析构方法(如果有)

你可能感兴趣的:(php)