码迷,mamicode.com
首页 > Web开发 > 详细

16/7/7_PHP-构造\解析函数

时间:2016-07-07 16:58:22      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

昨天又问老师问题,老师还是强调要用博客之类记录下每天的学习的习惯。

我个人的想法是一些知识点不用笔记一下 在脑海的理解不是太深。但是老师都这么说了我老师乖乖的记录下今天的学习的一些知识、心得、技巧等等。

php的构造函数与解析函数

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代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。

疑点一:构造函数一定命名为:__contruct();解析函数一定要命名为:__destruct()?

自己想法应该是一定的 因为这两个函数  是自动执行的  所以命名应该是定死的

还有就php使用class的方法、属性 " -> " 这点与java语言不一样  "." 刚开始不习惯  

 

16/7/7_PHP-构造\解析函数

标签:

原文地址:http://www.cnblogs.com/gaara0305/p/5650584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!