您的位置:首页 > 编程语言 > PHP开发

[李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的继承,多态及抽象类

2017-05-22 08:48 776 查看

类的继承,多态及抽象类

PHP内核将类的继承实现放在了”编译阶段”,因此使用VLD生成中间代码时并没有关于继承的相关信息。

整个继承的过程是以类结构为中心,当继承发生时,程序会先处理所有的接口。

在继承过程中,除了常规的函数合并后,还有魔术方法的合并。

多态顾名思义,多态即多种形态,相同方法调用实现不同的实现方式。

PHP中关键点在于类型提示的实现。

类型提示的实现:

第一步:判断参数是否为对象,使用宏Z_TYPE_P,如果是转二步,否则跳到其它情况

第二步:获取类的类型验证信息,调用了Zend_verify_arg_class_kind函数,

第三步:判断是否为指定类的实例。

第四步:如果不指定类的实例,程序会调用zend_verify_arg_error 报错。

接口的实现

接口也可以和类一样实现继承,并且只能是一个接口继承另一个接口。

抽象类

抽象类仅提供一个类的部分实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 读书笔记
相关文章推荐