构造函数

Posted 醉半仙

tags:

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

http://www.cnblogs.com/-simon/p/5887467.html

php5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。

class Car {

   function __construct() {

       print "构造函数被调用\\n";

   }

}

$car = new Car(); //实例化的时候 会自动调用构造函数__construct,这里会输出一个字符串

 

在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。

 

class Car {

   function __construct() {

       print "父类构造函数被调用\\n";

   }

}

class Truck extends Car {

   function __construct() {

       print "子类构造函数被调用\\n";

       parent::__construct();

   }

}

$car = new Truck();

 

析构函数

同样,PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。

class Car {

   function __construct() {

       print "构造函数被调用 \\n";

   }

   function __destruct() {

       print "析构函数被调用 \\n";

   }

}

$car = new Car(); //实例化时会调用构造函数

echo \'使用后,准备销毁car对象 \\n\';

unset($car); //销毁时会调用析构函数

当PHP代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。

 
 

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

静态构造函数、内部构造函数和公共构造函数有啥区别?

Kotlin类的初始化 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )

php构造函数的PHP 5 构造函数和析构函数

常见的构造函数类型

构造函数 析构函数 拷贝构造函数 ~~~~~~~~~~构造函数

C# 构造函数总结