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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件易用性测试_易用性测试包含界面测试吗

    软件易用性测试_易用性测试包含界面测试吗软件易用性测试一、易用性概念软件易用性是软件质量体系中一个重要的质量特性。在各个标准体系中都有关于软件易用性的定义描述。在一些组织的标准定义中,易用性又被称为可用性。无论该特性名称和具体细节如何定义描述,所有关于易用性或者可用性的研究都是围绕着“用户对于产品的使用感受”这个中心展开的。 易用性(可用性)体现的是用户在使用过程中所实际感受到的产品质量。软件的易用性是由软件的人机交互界面来集中体现。界面的布局设计、操作逻辑与流程、交互信息的显示、帮助和索引文档…用户对于这些元素

    2025年7月24日
    2
  • Center OS 7 下的安装Apache「建议收藏」

    Center OS 7 下的安装Apache「建议收藏」使用yum安装,直接yuminstallhttpd

    2022年9月21日
    2
  • rpm安装和卸载[通俗易懂]

    rpm安装和卸载[通俗易懂]一安装RPM是RedHat公司随RedhatLinux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。  1.安装软件:执行rpm-ivhrpm包名,如:  #rpm-ivhapache-1.3.6.i386.rpm  2.升级软件:执行rpm-Uvhrpm包名。  3.反安装:执行rpm-erpm包名。  4.查询软件包的详细信息:执行r

    2022年5月22日
    90
  • pstack 与 strace[通俗易懂]

    pstack 与 strace[通俗易懂]strace  strace是可以记录程序系统调用的一个工具,它可以记录该程序系统调用的各个延时情况。-c统计每一系统调用的所执行的时间,次数和出错的次数等.-d输出strace关于标准错误的调试信息.-f跟踪由fork调用所产生的子进程.-ff如果提供-ofilename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号.-F尝试跟踪vf…

    2022年9月14日
    0
  • 茂名高端碳项目什么时候完建_茂名石化对茂名的影响

    茂名高端碳项目什么时候完建_茂名石化对茂名的影响去年茂南区新引进1000万元以上项目26个,协议投资金额91.15亿元,其中茂南石化园区2020年产值突破百亿大关。近日,茂南区集中开工了5个重大项目,总投资19.8亿元,年度计划投资1.6亿元,涉及石油化工、环保能源、仓储物流、现代农业等多个领域。茂南区第一季度重大工程集中开工的5个项目包括,茂名天源石化有限公司建设的碳三碳四资源利用项目投资总额达18亿元,还有总投资6100万元的茂名市炳昊环境科技有限公司年处理处置5万吨废矿物油等含油废物综合利用绿色环保建设项目,另外总投资6000万元的茂名市德旺农

    2022年10月9日
    5
  • java读写锁实现原理_java可重入锁原理

    java读写锁实现原理_java可重入锁原理一、synchronized和ReentrantLock的对比到现在,看到多线程中,锁定的方式有2种:synchronized和ReentrantLock。两种锁定方式各有优劣,下面简单对比一下:1、synchronized是关键字,就和if…else…一样,是语法层面的实现,因此synchronized获取锁以及释放锁都是Java虚拟机帮助用户完成的;ReentrantLock是类层面的…

    2022年8月12日
    9

发表回复

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

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