广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中多态指的是什么意思
  • 155
分享到

php中多态指的是什么意思

2023-06-15 00:06:39 155人浏览 八月长安
摘要

这篇文章主要介绍PHP中多态指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩

这篇文章主要介绍PHP中多态指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php是什么语言

php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 html 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

php中的多态按字面上意思理解就是“多种形状”,可以理解为多种表现形式,即“一个对外接口,多个内部实现方法”;在面向对象的理论中,多态性是指同一个操作作用于不同的类的实例,将产生不同的执行结果。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP 多态

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

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

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

1.什么是多态

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

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

2.  多态的应用设计

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

【示例】例举了通常采用流程控制语句实现不同类的处理。其代码如下所示。

class painter{ //定义油漆工类public function paintbrush(){ //定义油漆工动作echo "油漆工正在刷漆!\n";}}class typist{ //定义打字员类public function typed(){ //定义打字员工作echo "打字员正在打字!\n";}}function printworking($obj){ //定义处理类if(objinstanceofpainter)//若对象是油漆工类,则显示油漆工动作$obj−>paintbrush();elseif(obj instanceof typist){ //若对象是打字员类,则显示打字员动作$obj->typed();}else{ //若非以上类,则显示出错信息echo "Error: 对象错误!";}}printworking(new painter()); //显示员工工作printworking(new typist()); //显示员工工作

分析:在上述程序中,首先定义两个员工类:油漆工类和打字员类。然后定义一个处理函数,在该函数中,判断员工是否为已经定义的员工,打印出员工的工作状态。其结果如下所示。

油漆工正在刷漆  打字员正在打字

从 以上程序可轻松看出,若想显示其几种员工的工作状态,需要首先定义该员工类,并在该员工类中定义员工的工作,然后在printworking()函数中增 加elseif语句以检查对象是哪一员工类的实例。这在实际的应用中,是非常不可取的。若此时采用多态,则可以轻松解决此问题。

可以首先创建一个员工父类,所有的员工类将继承自该员工父类,并且继承父类的所有方法与属性。然后在员工类中创建“是一”关系,判断是否为合法的员工。

【示例】例举了采用多态的方式改写上例。其代码如下所示。

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());//显示经理的工作

分析:在上述程序中,首先定义一个员工基类,并定义一个员工工作状态的方法。然后定义将继承自员工基类的三个员工类:油漆工类、打字员类和经理类。然后定义显示员工工作状态的方法。并在该方法中创建一个“是一”关系,用于判断是否为合法的员工。其结果如下所示。

油漆工正在刷漆! 打字员正在打字! 经理正在开会!

从上例可发现,无论增加多少个员工类,只需要实现自员工父类继承的该员工类和方法。而无须修改显示员工工作状态的方法printworking()。

以上是“php中多态指的是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: php中多态指的是什么意思

本文链接: https://www.lsjlt.com/news/275912.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php中多态指的是什么意思
    这篇文章主要介绍php中多态指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩...
    99+
    2023-06-15
  • PHP中多态性是什么意思
    在PHP中,多态性是指同一个操作作用于不同的类的实例,将产生不同的执行结果。也即不同类的对象收到相同的消息时,将得到不同的结果;不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的...
    99+
    2023-05-14
    php
  • php中.=指的是什么意思
    这篇文章主要为大家展示了“php中.=指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中.=指的是什么意思”这篇文章吧。php中“.=”表示赋值运算符,是字符串连接的意思,该运...
    99+
    2023-06-25
  • php中=指的是什么意思
    小编给大家分享一下php中=指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中=符号是PHP中的基础赋值运算符,赋值形式如“z=x+y”,这意味...
    99+
    2023-06-21
  • php中.= 指的是什么意思
    小编给大家分享一下php中.= 指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.=在php中是一种赋值运算符,用于连接两个字符串,比如表达式“a ....
    99+
    2023-06-26
  • php中vc11指的是什么意思
    这篇文章给大家分享的是有关php中vc11指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php vc11是指PHP的vc11版本,在用户下载VC11版本前,是需要先安装“VisualC++Redis...
    99+
    2023-06-14
  • php中static指的是什么意思
    小编给大家分享一下php中static指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php static是PHP中的一种关键字,使用static关键...
    99+
    2023-06-15
  • php中fputs指的是什么意思
    小编给大家分享一下php中fputs指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中fputs是一种用于写入文件的函数,而fputs函数是fw...
    99+
    2023-06-21
  • PHP中feof指的是什么意思
    小编给大家分享一下PHP中feof指的是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!PHP中feof是一个用于检测是否已到达文件末尾的函数,其使用语法是“feof(file)”,其中参数file规定了要检查的打开...
    99+
    2023-06-25
  • php中curd指的是什么意思
    这篇文章给大家分享的是有关php中curd指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php curd是操作数据库的专业术语,其意思分别是:1、Create,增加数据;2、update,更新数据;...
    99+
    2023-06-15
  • php中route指的是什么意思
    这篇“php中route指的是什么意思”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php中route指的是什么意思”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下...
    99+
    2023-06-14
  • php中session指的是什么意思
    这篇文章主要介绍了php中session指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php中session是用于存储关于用户会话session的信息,或者更改...
    99+
    2023-06-14
  • php中fpm指的是什么意思
    小编给大家分享一下php中fpm指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中fpm的意思是PHPFastCGI管理器,而对于PHP5.3....
    99+
    2023-06-15
  • php中rand指的是什么意思
    这篇文章将为大家详细讲解有关php中rand指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在php中,rand()函数代表生成随机整数的意思,语法为“rand(min,max)”;参数min...
    99+
    2023-06-22
  • PHP中construct指的是什么意思
    这篇文章主要介绍PHP中construct指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP中construct是指__construct()函数,该函数用于创建一个新的SimpleXMLElemen...
    99+
    2023-06-22
  • php中trim指的是什么意思
    小编给大家分享一下php中trim指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的trim是一种内置函数,用来去除字符串首尾处的空白字符或者其...
    99+
    2023-06-22
  • php中ord指的是什么意思
    这篇文章将为大家详细讲解有关php中ord指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在PHP中,ord用于表示ord()函数,该函数能够返回字符串中第一个字符的ASCII值,返...
    99+
    2023-06-29
  • php中null指的是什么意思
    小编给大家分享一下php中null指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中null是的意思是“空”,是一个特殊标记通常用于表示一个变量...
    99+
    2023-06-22
  • php中session_start()指的是什么意思
    这篇文章主要介绍了php中session_start()指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在php中,session_start()的意思为“开始会...
    99+
    2023-06-29
  • php中header指的是什么意思
    这篇“php中header指的是什么意思”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php中header指的是什么意思”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作