时间:2021-07-01 10:21:17 帮助过:3人阅读
你也可以定义一个名为__destruct的函数,PHP将在对象被销毁前调用这个函数.它称为析构函数.继承是类的一个强大功能.一个类(子类/派生类)可以继承另一类(父类/基类)的功能.派生类将包含有基类的所有属性和方法,并可以在派生类中加上其他属性和方法.你也可以覆写基类的方法和属性.你可能想知道构造函数是如何被继承的.当它们和其它方法一起被继承时,他们不会在创建对象时被执行.
PHP构造函数其它类方法一样的访问方式.访问方式将会影响从一定范围内实例化对象的能力.这允许实现一些固定的设计模式,如Singleton模式.析构函数,相反于构造函数.PHP调用它们来将一个对象从内存中销毁.默认地,PHP仅仅释放对象属性所占用的内存并销毁对象相关的资源.析构函数允许你在使用一个对象之后执行任意代码来清除内存.当PHP决定你的脚本不再与对象相关时,析构函数将被调用.在一个函数的命名空间内,这会发生在函数return的时候.对于全局变量,这发生于脚本结束的时候.如果你想明确地销毁一个对象,你可以给指向该对象的变量分配任何其它值.通常将变量赋值勤为NULL或者调用unset.
下面的例子中,计算从类中实例化的对象的个数.Counter类从构造函数开始增值,在析构函数减值.一旦你定义了一个类,你可以用new来建立一个这个类的实例.类的定义是设计图,实例则是放在装配线上的元件.New需要类的名称,并返回该类的一个实例.如果构造函数需要参数,你应当在new后输入参数.
输出1
- php
- classCounter
- {
- privatestatic$count=0;
- function__construct()
- {
- self::$count++;
- }
- function__destruct()
- {
- self::$count--;
- }
- functiongetCount()
- {
- returnself::$count;
- }
- }
- //建立第一个实例
- $c=newCounter();
- //
当你新建了一个实例,内存会被准备来存储所有属性.每个实例有自己独有的一组属性.但方法是由该类的所有实例共享的.
http://www.bkjia.com/PHPjc/446477.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446477.htmlTechArticle构造函数是PHP中总要的基本语法,什么是构造函数呢?我们这里就一起来看看PHP构造函数。如果你在一个类中声明一个函数,命名为__constr...