[李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的继承,多态及抽象类
来源:互联网 发布:透视衣服软件 编辑:程序博客网 时间:2024/06/06 09:38
类的继承,多态及抽象类
PHP内核将类的继承实现放在了”编译阶段”,因此使用VLD生成中间代码时并没有关于继承的相关信息。
整个继承的过程是以类结构为中心,当继承发生时,程序会先处理所有的接口。
在继承过程中,除了常规的函数合并后,还有魔术方法的合并。
多态顾名思义,多态即多种形态,相同方法调用实现不同的实现方式。
PHP中关键点在于类型提示的实现。
类型提示的实现:
第一步:判断参数是否为对象,使用宏Z_TYPE_P,如果是转二步,否则跳到其它情况
第二步:获取类的类型验证信息,调用了Zend_verify_arg_class_kind函数,
第三步:判断是否为指定类的实例。
第四步:如果不指定类的实例,程序会调用zend_verify_arg_error 报错。
接口的实现
接口也可以和类一样实现继承,并且只能是一个接口继承另一个接口。
抽象类
抽象类仅提供一个类的部分实现。
阅读全文
0 0
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的继承,多态及抽象类
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --简介
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --概览
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的结构和实现
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --访问控制的实现
- PHP内核--类和面向对象
- PHP类和面向对象
- php源码之路第五章第一节 ( 类和面向对象)
- php源码之路第五章第四节 (类的继承,多态及抽象类)
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量的生命周期
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量的作用域
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--简略
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--global语句
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--数据类型转换
- [李景山php] 深入理解PHP内核[读书笔记]--第二章:用户代码执行--PHP脚本的执行
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量的结构和类型
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量的结构和类型--HashTable-1
- [李景山php] 深入理解PHP内核[读书笔记]--第三章:变量及数据类型--变量的结构和类型--HashTable
- SQLi-Labs 学习笔记(Less 11-20)
- joc3 例子
- java之--把jython得到的基本数据类型转换成Java数据类型
- Spring boot出现java.awt.HeadlessException的解决办法
- 2017-5-20实训的第六天
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --类的继承,多态及抽象类
- 解决mysql无法插入中文数据及插入后显示乱码的问题
- 自学PHP与培训PHP的到底有多大的差距?
- springboot整合redis缓存
- 饿了么订单--快到碗里来
- 不敢发了,一不小心就没有了
- UVA 12100 Printer Queue
- 数据库
- 处处吻(粤语汉字英译)