在PHP中,多态是最常用到的一种特性。所谓多态,是指同一个东西不同形态的展示。在PHP中,我们这样定义多态,一个类被多个子类继承,如果这个类的某个方法在多个子类中表现不同的功能,那么这种行为我们就称其为多态的实现。
 
  多态的实现必须要满足三个条件:一是子类继承父类,二是子类重写父类的方法,三是父类引用指向子类对象。
 
  多态的实现K用一个小小的demo来给大家进行演示,demo如下:
        

abstract class Person
{
abstract function say();
} class Chinese extends Person
{ // 条件一:子类继承父类
function say() { // 条件二:子类重写父类方法
echo "我说中文!<br>";
}
} class English extends Person
{ //条件一:子类继承父类
function say() { // 条件二:子类重写父类方法
echo "I speak English!<br>";
}
} // Person $c = new Chinese(); // 父类引用指向子类对象,PHP中此形式行不通
// Person $e = new English(); function func(Person $p) { //PHP中的类型约束只存在与函数的形参
$p -> say();
}
func(new Chinese()); // 条件三:父类引用指向子类对象
func(new English()); // 条件三:父类引用指向子类对象

  

最新文章

  1. DOM事件
  2. JS魔法堂:判断节点位置关系
  3. 文件无刷新上传(swfUpload与uploadify)
  4. Class文件结构
  5. c语言之内存的申请malloc() 和释放free()
  6. C++模板学习随笔
  7. Php GMP
  8. bzoj4318: OSU!&amp;&amp;CF235BLet&#39;s Play Osu!
  9. 使用tail命令实时查看日志文件
  10. ROS机器人程序设计(原书第2版)补充资料 (伍) 第五章 计算机视觉
  11. 深入剖析Kubernetes学习笔记:容器基础(05-06)
  12. linux 下svn操作
  13. Linux之磁盘挂载
  14. 网络通信socket连接数上限
  15. JS 正则表达式从地址中提取省市县
  16. Javascript 面向对象编程1:封装
  17. jQuery实现省市联动
  18. 利用cgi编程实现web版man手册
  19. 雷林鹏分享: C# 教程
  20. 『MXNet』第二弹_Gluon构建模型

热门文章

  1. Gauss列主消元
  2. 第二阶段scrum-10
  3. Docker部署Python应用程序
  4. 第十九篇 同源策略与Jsonp
  5. tornado和vue的模板冲突解决方法
  6. 业务全都在yun上能放心吗?
  7. js中数字的4种遍历方式
  8. 百度地图API提供Geocoder类进行地址解析
  9. Social GAN代码要点记录
  10. 关于fdisk命令