目录
PHP 多态,php多态
首页 后端开发 php教程 PHP 多态,php多态_PHP教程

PHP 多态,php多态_PHP教程

Jul 12, 2016 am 08:54 AM
多态

PHP 多态,php多态

1.什么是多态

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

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

/**
* Shape Interface

* @version 1.0
* @copyright 
* (1)使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
* (2)我们可以通过interface来定义一个接口,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
* (3)接口中定义的所有方法都必须是public,这是接口的特性
*/

interface Shape {
   public function draw();
}

/**
* Triangle 

* @uses Shape
* @version 1.0
* @copyright
* (1)要实现一个接口,可以使用implements操作符。类中必须实现接口中定义的所有方法,否则 会报一个fatal错误。
* (2)如果要实现多个接口,可以用逗号来分隔多个接口的名称。 
*/
class Triangle implements Shape { 
   public function draw() {
   print "Triangle::draw()\n";
   }
}

/**
* Rectangle 

* @uses Shape
* @version 1.0
* @copyright
*/
class Rectangle implements Shape {
   public function draw() {
   print "Rectangle::draw()\n";
   }
}

/**
* Test Polymorphism

* @version 1.0
* @copyright
*/
class TestPoly {
   public function drawNow($shape) {
       $shape->draw();
   }
}


$test = new TestPoly();
$test->drawNow(new Triangle());
$test->drawNow(new Rectangle());


?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1119060.htmlTechArticlePHP 多态,php多态 1.什么是多态 多 态(Polymorphism)按字面上意思理解就是多种形状。可以理解为多种表现形式,也即一个对外接口,多个内...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

C++虚函数表与多态实现,如何避免内存浪费 C++虚函数表与多态实现,如何避免内存浪费 May 31, 2024 pm 07:03 PM

虚基类可优化虚函数表内存开销,通过允许从多个基类继承而无需创建额外虚函数表。在优化后代码中,形状基类不再有虚函数表,圆和矩形类共享同一个虚函数表,从而减少了内存消耗。

MySQL中如何实现数据的多态存储和多维查询? MySQL中如何实现数据的多态存储和多维查询? Jul 31, 2023 pm 09:12 PM

MySQL中如何实现数据的多态存储和多维查询?在实际应用开发中,数据的多态存储和多维查询是一个非常常见的需求。MySQL作为常用的关系型数据库管理系统,提供了多种实现多态存储和多维查询的方式。本文将介绍使用MySQL实现数据的多态存储和多维查询的方法,并提供相应的代码示例,帮助读者快速了解和使用。一、多态存储多态存储是指将不同类型的数据存储在同一个字段中的技

如何在PHP中使用多态和继承来处理数据类型 如何在PHP中使用多态和继承来处理数据类型 Jul 15, 2023 pm 07:41 PM

如何在PHP中使用多态和继承来处理数据类型引言:在PHP中,多态和继承是两个重要的面向对象编程(OOP)概念。通过使用多态和继承,我们可以更加灵活地处理不同的数据类型。本文将介绍如何在PHP中使用多态和继承来处理数据类型,并通过代码示例展示它们的实际应用。一、继承的基本概念继承是面向对象编程中的一种重要概念,它允许我们创建一个类,该类可以继承父类的属性和方法

'PHP面向对象编程入门:从概念到实践” 'PHP面向对象编程入门:从概念到实践” Feb 25, 2024 pm 09:04 PM

什么是面向对象编程?面向对象编程(OOP)是一种编程范式,它将现实世界中的实体抽象为类,并使用对象来表示这些实体。类定义了对象的属性和行为,而对象则实例化了类。OOP的主要优点在于它可以使代码更易于理解、维护和重用。OOP的基本概念OOP的主要概念包括类、对象、属性和方法。类是对象的蓝图,它定义了对象的属性和行为。对象是类的实例,它具有类的所有属性和行为。属性是对象的特征,它可以存储数据。方法是对象的函数,它可以对对象的数据进行操作。OOP的优点OOP的主要优点包括:可重用性:OOP可以使代码更

继承、多态与接口:PHP面向对象的三大特性 继承、多态与接口:PHP面向对象的三大特性 May 11, 2023 pm 03:45 PM

PHP是一种服务器端编程语言,自PHP5之后开始支持面向对象编程(OOP)。OOP的核心思想是将数据和行为封装在对象中,以提高程序的可维护性和可扩展性。在PHP中,面向对象编程具有三大特性:继承、多态与接口。一、继承继承是指一个类可以从另一个类中继承属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。子类可以通过继承获得父类中的属性和方法,并且可

golang函数重载与多态的区别? golang函数重载与多态的区别? Apr 30, 2024 am 09:30 AM

Go语言中不支持函数重载,因为它采用鸭子类型,根据实际类型确定值类型。而多态则通过接口类型和方法调用实现,不同类别的对象可以以相同方式响应。具体来说,Go语言中通过定义接口并实现这些方法,可以使不同类型的对象拥有相似行为,从而支持多态。

PHP中的多态与派发机制的关系 PHP中的多态与派发机制的关系 Jul 07, 2023 pm 05:45 PM

PHP中的多态与派发机制的关系在面向对象编程中,多态是一种强大的概念,它允许不同的对象对同一消息做出不同的响应。PHP作为一门强大的开发语言,也支持多态性,并且与之紧密相关的是派发机制。本文将通过代码示例来探讨PHP中的多态与派发机制的关系。首先,我们来了解一下什么是多态。多态是指对象能够根据自己的实际类型来调用相应的方法。通过使用多态,程序可以根据具体对象

分析PHP面向对象编程中的多态与接口关系 分析PHP面向对象编程中的多态与接口关系 Aug 10, 2023 pm 06:09 PM

PHP面向对象编程中的多态与接口关系在PHP面向对象编程中,多态(Polymorphism)是一种重要的概念,它使得不同类的对象可以以一种统一的方式被使用。多态通过接口(Interface)的实现来实现,本文将通过代码示例来分析PHP面向对象编程中的多态与接口关系。在PHP中,接口是一种定义了一组方法的抽象结构,类通过实现接口来表达自己具有某些行为能力。接口

See all articles