php _initialize()与__construct()的区别

php _initialize()与__construct()的区别

大家好,又见面了,我是全栈君。

_initialize()方法是在任何方法执行之前,都要执行的,当然也包括 __construct构造函数。

也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initialize()函数的自动调用,

而__construct()构造函数仅仅在创建对象的时候调用一次,跟其它方法调用没有关系。

__construct这里是双划线,而_initialize()函数是单划线

如果父子类均有_initialize()函数,则子类覆盖了父类的,如果子类没有而父类有,则子类继承父类的。

默认情况下,子类的构造函数不会自动调用父类的构造函数。在调用子类对象的_initialize()时,也不会导致自动调用父类的_initialize()

实际编写子类的构造函数时,一般都要加上父类构造函数的主动调用parent::__construct(),否则会导致子类对象空指针的异常,如Call to a member function assign() on a non-object。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 好用的vue富文本编辑器记录[通俗易懂]

    好用的vue富文本编辑器记录[通俗易懂]vue-quill-editorhttps://github.com/surmon-china/vue-quill-editorhttps://www.npmjs.com/package/vue-quill-editorhttps://blog.csdn.net/nickroprak/article/details/86645519(自定义图片上传)*默认上传图片为base64编吗…

    2022年10月14日
    3
  • java迭代创建文件,并写入内容

    java迭代创建文件,并写入内容java迭代创建文件,并写入内容

    2022年4月24日
    49
  • zencart模板修改 (详细)

    zencart模板修改 (详细)下面简单的介绍下zencart网站模板的修改。修改较多的地方:(常用代码)一:头部文件为(例子):D:\AppServ\www\zencart12698\includes\templates\theme3\common–tpl_header.php1.搜索模块功能:——————-标题:<?phpechoBOX_HEADING_SEARCH…

    2022年7月27日
    3
  • 记1024

    记1024等我写一个重磅级的博客。。。

    2022年6月24日
    24
  • 条件运算符用法「建议收藏」

    条件运算符用法「建议收藏」别人的书上看到一个简单题目,刚开始学C的小伙伴们应该很熟悉,还记得当年在软件实验室那会儿,入学考试全是这个,做到吐。打印图形以下图形:* *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** *  一般方法:两重循环,里面是两…

    2022年10月2日
    2
  • java 雪崩效应,七、微服务架构中的“雪崩效应”

    java 雪崩效应,七、微服务架构中的“雪崩效应”1.雪崩效应在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。其实,在单体服务中,高并发也会导致服务瘫痪。见下一章,Jmeter模拟微服务当中的高并发场景在分布式系统中,由于网络原因或自身的原因,服…

    2022年7月13日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号