`
余贵彬
  • 浏览: 59948 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PHP多态

阅读更多
PHP 多态
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性。

多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。

在面向对象的软件开发中,多态性是最为重要的部分之一。面向对象编程并不只是将相关的方法与数据简单的结合起来,而是采用面向对象编程中的各种要素将现实生活中的各种情况清晰的描述出来。这一小节将对面向对象编程中的多态性作详细的讲解。

1.什么是多态

多 态(Polymorphism)按字面上意思理解就是“多种形状”。可以理解为多种表现形式,也即“一个对外接口,多个内部实现方法”。在面向对象的理论 中,多态性的一般定义为:同一个操作作用于不同的类的实例,将产生不同的执行结果。也即不同类的对象收到相同的消息时,将得到不同的结果。

在实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作一个父类来处理,并且可以屏蔽不同子类对象之间所存在的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

2.  多态的应用设计

在实际的应用开发中,通常为了使项目能够在以后的时间里的轻松实现扩展与升级,需要通过继承实现可复用模块进行轻松升级。在进行可复用模块设计时,就需要尽可能的减少使用流程控制语句。此时就可以采用多态实现该类设计。



class employee{//定义员工父类
    protected function working(){//定义员工工作,需要在子类的实现
        echo "本方法需要在子类中重载!";
    }

}

class painter extends employee{//定义油漆工类
    public function working(){//实现继承的工作方法
        echo "油漆工正在刷漆!\n";
    }
}

class typist extends employee{//定义打字员类
    public function working(){
        echo "打字员正在打字!\n";
    }
}

class manager extends employee{//定义经理类
    public function working(){
        echo "经理正在开会!";
    }
}

function printworking($obj){//定义处理方法
    if($obj instanceof employee){//若是员工对象,则显示其工作状态
        $obj->working();
    }else{//否则显示错误信息
        echo "Error: 对象错误!";
    }
}

printworking(new painter());//显示油漆工的工作
printworking(new typist());//显示打字员的工作
printworking(new manager());//显示经理的工作

分享到:
评论

相关推荐

    php多态和抽象类,php教程

    在PHP编程语言中,多态和抽象类是面向对象编程中的核心概念,它们极大地提高了代码的灵活性和可扩展性。让我们深入探讨这两个概念及其在实际开发中的应用。 首先,我们来理解多态(Polymorphism)。多态是同一个...

    深入php多态的实现详解

    【深入PHP多态的实现详解】 在PHP中,多态性是面向对象编程的一个核心概念,它使得程序具有更高的灵活性和可扩展性。多态允许相同的操作或函数应用于不同的对象,产生不同的结果,增强了代码的复用性和抽象程度。...

    PHP实现类的多态帮助类ClassUtil

    #PHP实现类的多态帮助类ClassUtil #PHP实现函数多态的帮助类ClassUtil 使用举例: class calc { public function __construct() { $args=func_get_args(); ClassUtil::callMethodForArgs($this,$args); } ...

    PHP中多态的实现.pdf

    PHP 中多态的实现 PHP 是一种面向对象的编程语言,支持多态。但是,PHP 的教材和相关书籍中很少提到多态,故本文将通过实例讲解的形式证明 PHP 完全能够实现多态。 多态是面向对象程序设计的一个重要特征。如果一...

    PHP多态代码实例

    PHP多态是指在使用面向对象编程时,不同的子类对象对同一方法调用做出不同的响应。这就好比同一个接口,可以有多种不同的实现,调用时根据对象的实际类型来决定调用哪个版本的方法。 在编程语言中,多态通常有两种...

    PHP面向对象-接口、多态

    一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。 所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。 简单的说,一个类拥有其父类、和已实现接口的身份。

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

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

    计算机后端-PHP视频教程. php之面向对象29 多态(选学).wmv

    计算机后端-PHP视频教程. php之面向对象29 多态(选学).wmv

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

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

    PHP5中实现多态的两种方法实例分享

    PHP5作为广泛使用的服务器端脚本语言,虽然在类型处理上较为宽松,但其面向对象的特性同样支持多态的概念。多态是面向对象编程中的一个核心概念,它允许同一个操作作用于不同的对象,可以产生不同的行为。在Java等...

    理解和运用PHP中的多态性[译]

    什么是多态性? Polymorphism(多态性)是一个很长的单词,但是它表示的是一个非常简单的概念。 多态性描述了在面向对象编程模式中类有不同的功能,而共享一个通用的接口。 多态性的优点是,并不需要知道它使用的是哪...

    php 三大特点:封装,继承,多态

    在PHP中,多态主要体现在运行时,当父类引用指向子类实例时,如果子类重写了父类的方法,那么在父类引用调用该方法时,实际执行的是子类的版本。实现多态的一个关键条件是子类必须继承父类并重写父类的方法。另外,...

    PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)

    在PHP中实现多态需要使用到接口(interface)和类的抽象方法。通过这种方式,即使对象的具体类型不同,也可以用相同的接口或方法调用来处理它们。这使得代码更加灵活,易于扩展。 在PHP中实现继承性的具体方式是...

    举例讲解PHP面对对象编程的多态

    **PHP面向对象编程的多态** 在PHP中,面向对象编程(OOP)的核心概念之一就是多态性。多态性允许不同的对象对同一消息作出不同的响应,从而增加了代码的灵活性和可重用性。这使得程序设计更加抽象,减少了代码的...

    实例讲解PHP面向对象之多态

    本篇文章首先明确了多态的概念,接着通过PHP语言中的具体实例,阐述了多态的使用场景以及它带来的好处。通过多种实现方法的比较,这篇文章深入剖析了多态性的实现原理及其在实际编程中的应用。 多态性是面向对象...

    PHP程序员面试宝典 笔试 (PHP版).zip

    面试中可能会涉及到类、对象、属性、方法、构造函数、析构函数、封装、继承、多态等概念。理解`__get`和`__set`魔术方法以及`final`, `static`, `abstract`和`interface`关键字的应用是考察点。 错误和异常处理是另...

Global site tag (gtag.js) - Google Analytics