我们在创建和销毁对象时需要执行一些任务,例如,在创建对象时给属性赋值,在对象销毁时关闭数据库连接,就需要构造函数和析构函数。构造函数是实例化类时调用该函数,因此此函数在实例化类时做一些初始化工作,如果在子类中定义了__construct(),则不会调用父类的__construct(),如果需要调用父类的构造函数,则需要使用parent::__construct(),如果没有构造函数,在初始化类时,变量是空的,在同一个类中只能声明一个构造方法,原因是php不支持函数重载。如果类中没有构造函数,php将搜索与类名相同的构造方法,这是沿袭php4的特性,构造函数可接收参数,进行赋值。子类中如果没有构造函数,程序会自动调用父类的构造函数、析构函数也是如此。__destruct()析构函数当php代码执行完毕以后,会自动回收与销毁对象,一般情况下不需要显示的去销毁对象,析构函数与构造函数相反,当php脚本不在与对象相关时,析构函数将被调用。
php 面向对象中构造函数(__contruct())和析构函数(__destruct())
最新推荐文章于 2022-02-11 12:02:04 发布