`

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

 
阅读更多

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

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

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

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

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

通过实现接口实现多态

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

通过组合模拟多重继承。

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

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

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

接口实例

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

分享到:
评论

相关推荐

    php多态和抽象类,php教程

    在实际开发中,LAMP兄弟连的PHP教程可能涵盖了如何在PHP项目中运用多态和抽象类的详细步骤。视频课程可能包括了如何创建抽象类,定义抽象方法,以及如何通过子类化实现多态的例子。通过学习这些,开发者能够更好地...

    《PHP网站开发实例教程》源代码.zip

    8. **面向对象编程**:PHP5引入了完整的面向对象编程特性,包括类的定义、属性和方法,继承、封装和多态等概念。 9. **模板引擎**:可能还会涉及到PHP模板引擎的使用,如Smarty,它可以帮助分离业务逻辑和视图展示...

    PHP5面向对象开发教程第四章-PHP5接口与多态

    本教程将深入讲解PHP5中的接口(Interfaces)和多态(Polymorphism)概念,这些都是面向对象编程中的重要组成部分。我们将探讨它们在实际开发中的应用,以及如何利用这些特性来提升代码质量。 **接口(Interfaces)...

    PHP动态网站开发实例教程(第2版_钱兆楼+刘万辉)资源48368

    《PHP动态网站开发实例教程(第2版)》是由钱兆楼和刘万辉两位专家共同编著的一本深入浅出的PHP学习书籍。这本书针对Web开发初学者和有一定基础的开发者,旨在通过实例教学,帮助读者掌握PHP动态网站开发的核心技术...

    PHP中文 实例教程

    **PHP中文实例教程** 在IT领域,PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在Web开发中占据着重要地位。PHP以其简单易学、跨平台、性能高效等特点,深受开发者喜爱。本教程以中文形式提供,...

    PHP5YYXJ实例教程

    《PHP5YYXJ实例教程》是一本专为学习PHP5开发而设计的教程,尤其强调了使用Zend Framework进行实际项目开发的实践方法。作为一门强大的服务器端脚本语言,PHP5在Web开发领域有着广泛的应用,而Zend Framework是PHP5...

    目前最新最好的php入门实例教程 chm

    3. **面向对象编程**:PHP5及以上版本支持面向对象编程,包括类的定义、对象的创建、继承、封装、多态等概念。 4. **文件操作**:学习如何读取、写入、移动、复制和删除文件,以及如何处理文件上传。 5. **数据库...

    PHP编程基础与实例教程课件由浅入深

    《PHP编程基础与实例教程课件》是一套全面且深入的PHP学习资源,旨在帮助初学者从零开始,逐步掌握PHP编程技术。本教程通过由浅入深的方式,引导学习者一步步探索PHP的世界,从基本语法到高级特性,从理论知识到实践...

    实用、常用php教程+实例 打包下载

    PHP5引入了完整的面向对象编程特性,包括类、对象、继承、封装、多态等概念。class关键字定义类,new关键字实例化对象,::操作符用于访问类的静态属性和方法。 10. **PHP框架与CMS** 许多PHP框架如Laravel、...

    PHP编程基础与实例教程课件

    **PHP编程基础与实例教程课件** PHP,全称“Hypertext Preprocessor”,即“超文本预处理器”,是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发,可以嵌入到HTML中使用。本教程将带你深入理解PHP的基础...

    PHP经典实例中文第二版.rar.rar

    2. 面向对象编程:PHP5及以后的版本支持面向对象编程,书中会讲解类、对象、继承、封装和多态等概念,帮助读者理解和运用OOP进行PHP开发。 3. 数据库交互:PHP常用于web开发,与数据库的交互至关重要。书中可能涉及...

    PHP高级教程php详解

    对象是类的具体实例,可以访问类中的属性和方法。 3. 访问控制:PHP提供了public、private和protected三种访问修饰符。public属性和方法可以在任何地方访问,private仅限于本类内部,而protected允许子类访问。 4....

    PHP100视频教程 26:制作自己的PHP+MYSQL的类

    - 多态(Polymorphism):同名方法在不同类中有不同的实现,增加灵活性。 3. **自定义PHP MySQL类**: - 构造函数(Constructor):用于初始化类的对象。 - 数据库连接属性:如 `$host`,`$user`,`$password` ...

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

    这篇“PHP入门教程之面向对象的特性分析”将带你深入理解PHP的面向对象编程(OOP)概念,包括继承、多态、接口和抽象类与方法等核心特性。面向对象编程是现代软件开发的重要组成部分,它允许我们创建更复杂、可维护...

    php5+mysql5简体中文教程.rar

    2. PHP5面向对象:介绍类和对象的概念,封装、继承和多态等面向对象特性,以及如何创建和使用类。 3. PHP5错误和异常处理:学习如何捕获和处理运行时错误,以及使用异常来更有效地控制程序流程。 4. 文件和目录...

    php面向对象(类)教程

    本文将基于"php面向对象(类)教程"这一主题,深入探讨PHP中的面向对象编程(Object-Oriented Programming, OOP)概念,帮助初学者理解和掌握这一核心技能。 面向对象编程是一种编程范式,它通过类和对象来组织代码...

    PHP网站开发实例教程.zip

    《PHP网站开发实例教程》是一本全面覆盖PHP动态网站设计的综合教程,旨在帮助初学者快速入门,并为熟练者提供有价值的参考资料。PHP作为一种强大的服务器端脚本语言,广泛应用于网页开发,尤其在构建动态、交互性强...

    网络开发PHP4教程

    综上所述,《网络开发PHP4教程》这本书不仅涵盖了PHP 4的基础知识,还包括了如何利用PHP 4进行Web应用开发的具体实践,以及与之相关的数据库管理、面向对象编程、跨技术整合等多个方面的内容。对于希望深入学习PHP 4...

Global site tag (gtag.js) - Google Analytics