2、类的初始化:子类如果有自己嘚构造函数(__construct()),则调用自己的进行初始化如果没有,则调用父类的构造函数进行自己的初始化
如果我们写两个类,如下
如果我想在初始化子类的时候同时调用父类的构造器呢?
这样就可以将两句话同时输出。
当然还有一种办法就是在父类中调用子类的方法
这样也可以將两句话同时输出。
(2)如果父子类均有_initialize()函数则子类覆盖了父类的,如果子类没有而父类有则子类继承父类的。在调用子类对象的_initialize()时不会导致自动调用父类的_initialize()。
(3)默认情况下子类的构造函数也不会自动调用父类的构造函数,这一点与Java不同实际编写子类的构造函數时,一般都要加上父类构造函数的主动调用parent::_ _construct()否则会导致子类对象空指针的异常,如Call to a member function assign() on a non-object
(4)_initialize()函数是在“任何”方法调用之前都要调用的,也就是说如果存在_initialize()函数调用对象的任何方法都会导致_initialize()函数的自动调用,而_ _construct构造函数仅仅在创建对象的时候调用一次跟其它方法调用沒有关系。
。。。。转载,没有测过的。。。。。。。。