父类属性不与子类冲突 且 父类属性是私有: 即父类属性为private,且子类中没有重名的,则将此属性插入子类properties_info,但是更新其flag为ZEND_ACC_SHADOW,这种属性将不能被子类使用;
父类属性不与子类冲突 且 父类属性是公有: 这种比较简单,子类可以继承使用,直接插入子类properties_info;
父类属性与子类冲突 且 父类属性为私有: 不继承父类的,以子类原属性为准,但是打上ZEND_ACC_CHANGED的flag,这种属性父子类隔离,互不干扰;
父类属性与子类冲突 且 父类属性是公有或受保护的:
父子类属性一个是静态一个是非静态: 编译错误;
父子类属性都是非静态: 用父类的offset,但是值用子类的,父子类共享;
父子类属性都是静态: 不继承父类属性,以子类原属性为准,父子类隔离,互不干扰;
原文:https://www.cnblogs.com/bneglect/p/13178527.html