`

PHP类实例教程(二十四):PHP5类中的多态

阅读更多

多态这个概念,在Java中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。

我们只能说在PHP5中,多态应用在方法参数的类型提示位置。

一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。

所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。

简单的说,一个类拥有其父类、和已实现接口的身份。

通过实现接口实现多态

使用接口与组合模拟多继承

通过组合模拟多重继承。

在PHP中不支持多重继承,如果我们向使用多个类的方法而实现代码重用有什么办法么?

那就是组合。在一个类中去将另外一个类设置成属性。

下面的例子,模拟了多重继承。

接口实例

写一个概念性的例子。 我们设计一个在线销售系统,用户部分设计如下: 将用户分为,NormalUser, VipUser, InnerUser 三种。要求根据用户的不同折扣计算用户购买产品的价格。并要求为以后扩展和维护预留空间。

分享到:
评论

相关推荐

    php5面向对象教程[实例详解]

    文件清单: php5 面向对象初步(第一章) PHP5面向对象初步(第二章) ...PHP5面向对象(第四章 接口与多态) ---- 需要code实例的,我会尽快上传 ---- 此教程适合基础不太稳的朋友,急需PHP基础的童鞋,老友可绕行!

    明仔PHP面向对象(六日通)教程

    软件介绍 由php100视频教程整理而来的文字版...(十)类中接口应用 10-1 类中接口应用 (十一)多态的介绍与优势 11-1 多态的介绍与优势 (十二)面向对象总结篇 11-1 面向对象总结篇 Tags: php教程 php面向对象教程

    php面向对象详细教程(完整版)

    本教程详细阐述了PHP的面向对象特性,包括PHP5面向对象初步,PHP5面向对象进阶,PHP5面向对象高级类特性,PHP5接口与多态,PHP5面向对象异常处理等5个章节。内容丰富,实例清晰,并有相关PHP设计模式的详细实例和...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-30 5 面向对象的封装 继承 多态 9-30 6 面向对象的封装 继承 多态2 9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-30 5 面向对象的封装 继承 多态 9-30 6 面向对象的封装 继承 多态2 9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③...

    PHP_面向对象教程(强力推荐)

    5.如何实例化对象? 6.如何去使用对象中的成员? 7.特殊的引用“$this”的使用 8.构造方法与析构方法 9.封装性 10.__set()、__get()、__isset()、__unset()四个方法的应用 11.类的继承 12.多态的应用 13....

    PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)

    本文实例讲述了PHP面向对象的特性。分享给大家供大家参考,具体如下: Demo1.php <?php header('Content-Type:text/html; charset=utf-8;'); //创建一个电脑类 class Computer { //什么叫做类内,就是创建类...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-30 5 面向对象的封装 继承 多态 9-30 6 面向对象的封装 继承 多态2 9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③...

Global site tag (gtag.js) - Google Analytics