PHP中Private私有属性继承使用的问题

类中的私有属性或者方法是不能被继承的
但是当一个父类A中的方法FunA,调用了父类A中的Private私有属性或着方法的时
这个FunA在被继承以后,将能继续通过$this访问父类A中的Private私有属性或者方法
无论继承子类中对父类A中的私有属性或方法如何重新实现
直到FunA在继承子类中被重写

当上述的私有方法pFunA被"继承"后,其规则又与FunA相同,即当pFunA又调用了私有属性或方法
那么当pFunA被"继承"后,也将能继续访问pFunA在父类A中的私有属性或方法,直到pFunA被重写(而实际上pFunA是不可能被重写的)

一旦FunA或者pFunA被重写,就是全新的函数,其调用的私有属性或方法将不在能使用,需要重新定义
否则,如果没有重新定义私有属性,则参照《 __set/__get触发条件》,如果没有重新定义私有方法,则直接报错

如果父类A方法FunA中调用的属性在父类A中没有对应的属性
那么会在继承子类中试图调用对应的属性
这里继承子类中的属性对于继承函数FunA来说受到private/protected/public/不存在/影响
也就是说,如果试图调用的对应属性"难以达到",则参照《 __set/__get触发条件

如果父类A方法FunA中调用的属性在父类A中没有对应的方法
在继承子类中也没有对应的方法,则直接报错

在重载属性和方法时,其受限层级不能降低,可以保持可以提升

上述描述中,关于缺失私有方法的描述,还有待进一步完善和求证
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值