首页 > 编程 > PHP > 正文

PHP中函数覆盖和函数重载是什么

2020-03-22 18:05:52
字体:
来源:转载
供稿:网友
函数重载和覆盖(也叫重写)是PHP中的OOP(html' target='_blank'>面向对象)特性。在函数重载中,多个函数可以具有相同的方法名但参数的数量或类型不同。但是在函数重写的情况下,多个函数将具有相同的方法名和参数数量。

函数重载:函数重载包含相同的函数名称,该函数根据参数的数量和类型执行不同的任务。

例如,找到给定半径的某些形状的区域,如果给出高度和宽度,则应该返回圆的区域,然后应该给出矩形区域和其他区域。与其他OOP语言一样,函数重载不能通过本地方法完成。

在PHP中,函数重载是在魔术方法__call()的帮助下完成的。此函数采用函数名称和参数。

函数重载的示例:

 ?php // 说明:PHP程序说明函数。// PHP中的重载//创建一个类型为shape的类class shape {  // __call() 是一个魔术方法 //函数名和参数 function __call($name_of_function, $arguments) {  // 它将匹配函数名 if($name_of_function == area ) {  switch (count($arguments)) {  // 如果只有一个参数 //圆的面积 case 1:  return 3.14 * $arguments[0];  // 如果有两个参数,则面积为矩形; case 2:  return $arguments[0]*$arguments[1]; //声明Shape类型对象$s = new Shape; echo($s- area(2)); echo br // 调用矩形的area方法echo ($s- area(4, 2)); ? 

输出:

6.288

函数重写:函数重写与其他OOP编程语言相同。在函数重写中,父类和子类应具有相同的函数名和参数数量。它用于替换子类中的父方法。覆盖的目的是更改父类方法的行为。具有相同名称和相同参数的两个方法称为覆盖。

函数覆盖(重写)的示例:

 ?php//PHP程序实现//函数覆盖//这是父类class P { // 父类函数demo function demo() { echo Parent // 这是子类class C extends P { // 覆盖demo方法 function demo() { echo br Child 
独孤九贱(5)_ThinkPHP5视频教程

ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《VeVb.com独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

Peter-Zhu 2017-05-16 12:03:57


独孤九贱(4)_PHP视频教程

江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。PHP 出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

Peter-Zhu 2017-03-20 22:47:17


独孤九贱(1)_HTML5视频教程

《VeVb.com原创html5视频教程》课程特色:php 原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。...

Peter-Zhu 2017-03-13 10:15:11


ThinkPHP5实战之[教学管理系统]

本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

Peter-Zhu 2017-07-24 16:48:56


PHP入门视频教程之一周学会PHP

所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表