php调用类构造方法,PHP创建类实例的构造方法调用问题

46d45202ca37940d23842d8ab76bf609.png

本文介绍了在PHP创建类的实例时调用构造函数的问题.

在PHP中,与Java不同,在创建类的实例时php调用类的方法,将首先自动调用父类(超类)的构造方法,以确保可以正确初始化所有属性. PHP不会在此类构造器中自动调用父类构造器. 如果确实需要调用父类的构造函数,则可以手动调用parent :: __ construct($ params ...);

基类{

405b1046de4f10a5424fbe9b7a6df4_th.jpeg

function __construct(){

//在这里做…….

}

img_0_3127035550_685124120_27.jpg

}

如果我们需要一些Extender来继承Basephp调用类的方法,我们需要注意

1. 我们是否需要调用父类的构造方法进行初始化

20170209152959_936.gif

2. 我们是否需要根据父类构造方法执行其他扩展操作

3. 在Base构造方法中,我们不需要那些初始化操作.

如果我们的Extender仅满足情况1,则可以省略Extender的构造函数,因为父级的构造函数完全满足我们的要求,并且我们不需要执行其他编码.

1598a4a38e3557f6e5143937aabc76f6.png

如果Extender满足情况2,则需要在Extender的构造函数中调用parent :: __ construct(),首先对其进行初始化,然后执行一些扩展操作

如果我们的Extender满足条件3,我们可以选择不调用父类的构造函数. 这样做只有一个缺陷: 扩展Extender时,如果此扩展类需要Base构造函数的初始化操作,则调用parent :: __ construct()只能调用Extender的构造函数,而不能调用Base的构造函数类. 方法.

因此,我个人认为最好在子类构造函数中手动调用超类构造函数.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-254678-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值