iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何在php中实现多态
  • 272
分享到

如何在php中实现多态

2023-06-15 08:06:46 272人浏览 安东尼
摘要

本篇文章给大家分享的是有关如何在PHP中实现多态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对

本篇文章给大家分享的是有关如何在PHP中实现多态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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

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

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

什么是多态

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

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

多态实现条件

多态的实现有三个条件:首先必须有继承,即必须有父类(或基类)及其派生的子类。其次必须有父类的引用指向子类的对象,这是实现多态最重要的一个条件。最后必须有方法的重写,即子类必须对父类的某些方法根据自己的需求进行重写,方法名和参数都是相同的。

php实现多态的方法:

1、通过实现接口实现多态

下面的例子中,UserAdmin类的静态方法,要求一个User类型的参数。

在后面的使用中,传递了一个实现了User接口的类NORMalUser的实例。代码成功运行。

<?interface User{ // User接口public function  getName();public function setName($_name);}class NormalUser implements User { // 实现接口的类.private $name;public function getName(){return $this->name;}public function setName($_name){$this->name = $_name;}}class UserAdmin{ //操作.public static function  ChangeUserName(User $_user,$_userName){$_user->setName($_userName);}}$normalUser = new NormalUser();UserAdmin::ChangeUserName($normalUser,"Tom");//这里传入的是 NormalUser的实例.echo $normalUser->getName();?>

程序运行结果:

Tom

2、通过继承关系实现多态

利用接口与组合,在一个类中将另外一个类设置成属性来模拟多重继承,通过继承关系实现多态。

下面是类和子类的关系。

<?class User{ // User接口public function  getName(){}}class NormalUser extends User { // 继承自User类private $name;public function getName(){return $this->name;}public function setName($_name){$this->name = $_name;}}class UserAdmin{ //操作.public static function  ChangeUserName(User $_user,$_userName){$_user->setName($_userName);}}$normalUser = new NormalUser();UserAdmin::ChangeUserName($normalUser,"Tom");//这里传入的是 NormalUser的实例.echo $normalUser->getName();?>

程序运行结果:

Tom

以上就是如何在php中实现多态,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网PHP编程频道。

--结束END--

本文标题: 如何在php中实现多态

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

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

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

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

下载Word文档
猜你喜欢
  • 如何在php中实现多态
    本篇文章给大家分享的是有关如何在php中实现多态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对...
    99+
    2023-06-15
  • 如何在Java中实现多态
    小编给大家分享一下如何在Java中实现多态,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!public class Polymorphism5 {//打印人吃水果的信息public v...
    99+
    2023-06-02
  • 如何在PHP中实现静态页面动态化?
    随着互联网用户对于网页内容呈现的要求越来越高,动态页面技术已经成为了网页开发的标配。在一些较为简单的网站中,我们可以使用一些框架或者CMS系统来进行网站开发,实现快速开发并且轻松实现动态页面效果。不过一些小型的静态网站则需要手动实现动态化,...
    99+
    2023-05-23
    PHP缓存 PHP静态化 动态化页面
  • 如何在PHP中实现页面静态化
    实现页面静态化是提高网站性能的重要方法之一。在PHP中实现页面静态化可以减少数据库和服务器的负担,加快页面加载速度,提升用户体验。本文将从什么是页面静态化、为什么做页面静态化、以及如何...
    99+
    2024-03-05
    php页面静态化 静态化实现方法 php静态化技术 搜索引擎优化
  • Golang中如何实现多态性?
    Golang中的多态性如何发挥作用?在Golang中,多态性是通过接口实现的。通过接口可以实现多个不同类型的对象统一使用的能力,这使得我们可以更灵活地编写代码和处理不同类别对象的逻辑。接下来,本文将介绍Golang中多态性的概念和如何使用接...
    99+
    2023-12-29
    Golang 多态性 发挥作用
  • java中的多态如何实现
    在Java中实现多态的方式是通过方法的重写和方法的重载。多态是指相同的方法名在不同的类中具有不同的实现,使得可以通过父类引用指向子类...
    99+
    2024-03-14
    java
  • C++中的多态如何实现
    这篇文章主要介绍“C++中的多态如何实现”,在日常操作中,相信很多人在C++中的多态如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的多态如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-30
  • 如何在PHP中实现多语言网站
    随着互联网的日益普及,越来越多的网站需要支持多语言。这是因为网站的受众群体可能来自不同的地区和文化背景,如果只提供单一语言的网站,可能会限制访问者的数量和体验。本文将介绍如何在PHP中实现多语言网站。一、语言文件的创建和设计语言文件是存储所...
    99+
    2023-05-22
    PHP编程 多语言 网站国际化
  • C#多态如何实现
    小编给大家分享一下C#多态如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#实现多态主要有3种方法,虚方法,抽象类,接口1 虚方法在父类的方法前面加关键字...
    99+
    2023-06-14
  • c++多态如何实现
    多态是面向对象编程中允许对象具有不同形式或行为的一种机制。c++ 中的多态通过虚函数、抽象类、纯虚函数和动态绑定实现。虚函数允许派生类重新定义基类方法,抽象类包含必须在派生类中重新定义的...
    99+
    2024-04-22
    c++
  • golang如何实现多态
    go 中没有传统多态,但可以利用接口和反射实现类似效果:定义接口,明确方法集。创建多个类型,实现该接口。使用反射,动态调用方法,无需了解具体类型。 Go 中实现多态 如何实现? Go ...
    99+
    2024-04-21
    golang
  • 如何在lnmp中实现PHP多版本共存
    背景:one框架需要swool扩展,同时php版本需要7.3,目前服务器安装的是lnmp1.6其中php5.6. 所以觉得安装一个php7.3作为切换版本 ,以下是安装步骤 1.查找lnmp的inst...
    99+
    2023-09-09
    php nginx 服务器
  • 在 PHP 中实现多线程
    多线程是程序执行的一种形式,其中单个进程创建多个线程,并且它们同时执行。本教程将讨论 PHP 中的多线程并演示如何实现它。 在 PHP 中使用 Parallel 并行并发扩展实现多线程 使用 ...
    99+
    2024-02-27
  • Go语言如何实现多态 
    这篇“Go语言如何实现多态 ”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言如何实现多态 ”文章吧...
    99+
    2023-06-30
  • 如何在PHP中实现分页
    在PHP中实现分页可以使用以下步骤:1. 获取总记录数:通过查询数据库或其他方式获取要分页的数据总记录数。2. 设置每页显示的记录数...
    99+
    2023-08-24
    PHP
  • 如何在Android中实现多语言
    本篇文章给大家分享的是有关如何在Android中实现多语言,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。创建多语言包首先在onCreate方法中调用此方法查看上一次保存的是什么...
    99+
    2023-05-30
    android
  • python如何实现函数多态性
    在python实现函数的多态性,具体方法如下:def remove_user(self,user_or_username):try:#If user_or_username is a User objectusername = user_o...
    99+
    2024-04-02
  • Mapper动态代理如何在Mybatis中实现
    Mapper动态代理如何在Mybatis中实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、实现原理     &nbs...
    99+
    2023-05-31
    mybatis mapper pp
  • PHP 多线程如何实现?
    php 多线程是指在一个进程中同时运行多个任务,通过创建独立运行的线程实现。php 中可以使用 pthreads 扩展模拟多线程行为,安装后可使用 thread 类创建和启动线程。例如,...
    99+
    2024-05-06
    php 多线程
  • php如何实现多接口
    本篇内容主要讲解“php如何实现多接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何实现多接口”吧!PHP 接口的基本概念接口(interface)是一个非常重要的概念,它是一个类的蓝...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作