今天温习了下php基础,看了看看见有个php重载,看起来很熟悉,但是想不起,然后就敲敲试试。发现并不能实现重载。

为什么呢?我们先来看看什么叫做方法重载:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

但是php的__call()这个魔术方法只能实现捕捉到调用函数的方法没有适合才能用上,在类里面方法存在时候,跟换参数,并不能实现描述方法重载的这个定义。大伙儿可以试一试。下面是我测试的代码。

class computer {

public $price = 100;

/**

* 价格上调

* @param $price

* @return mixed

*/

public function priceUp($price){

return $this->price += $price;

}

/**

* PHP的重载

* @param $name

* @param $arguments

* @return mixed

*/

public function __call($name, $arguments)

{

if ($name == 'priceUps') {

return $arguments;

}

if ($name = 'priceUp') {

return $arguments;//

}

}

}

$computer = new Computer();

$computer->priceUp(100);//上调100 输出为200

$computer->priceUp(150,200);//上调100多一个参数输出为350

$computer->priceUps(100);//一个class中并不存在的方法。输出为[100]

欢迎支付宝打赏

php中args,PHP中的重载,即__call($name , $args)的使用相关推荐

  1. C++中的指针特征操作符重载

    文章目录 1 C++中的指针特征操作符重载 1.1 指针特征操作符重载 1.2 使用指针特征操作符重载实现智能指针 1 C++中的指针特征操作符重载 1.1 指针特征操作符重载 指针特征操作符重载: ...

  2. C++中数组访问操作符的重载

    文章目录 1 C++中数组访问操作符的重载 1.1 重载数组访问操作符 2 重载数组访问操作符时出现的问题 1 C++中数组访问操作符的重载 1.1 重载数组访问操作符 对于数组操作符: 数组操作符是 ...

  3. python args kwargs_Python中的args和kwargs

    有时,你会看到python中定义函数的时候带有两个奇怪的参数:*args.**kwargs.如果你曾经想知道它们是干什么的,或者想知道你的IDE为什么在main()函数中定义它们,那么本文可以帮助到你 ...

  4. 【转】C++中如何区分构造函数与重载operator()得到的仿函数?

    转自:C++中如何区分构造函数与重载operator()得到的仿函数?求大神!_360问答 此外,你觉得仿函数(functor)是否能完全取代function呢? 以下是个人使用C++仿函数,func ...

  5. java 方法的重载_Java中的方法和方法重载

    今天我们来说说Java中的方法和方法重载以及需要注意的一些地方; 方法: Java的方法类似与其他语言的函数,是一段用来完成特定功能的代码片段, 声明格式: [修饰符1  修饰符2 ....]  ,返 ...

  6. python计算复数的辐角_Python 自定义类中的函数和运算符重载

    如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...

  7. java关于重写正确,在Java中,以下关于方法重载和方法重写描述正确的是( )

    在Java中,以下关于方法重载和方法重写描述正确的是( ) 答:方法重写的返回值类型必须相同或相容.(或是其子类) 对乙酰氨基酚临床用途是抗炎抗风湿作用 答:错 观念艺术是哲学的反思,传统的理论可以对 ...

  8. Python中的两种函数可变长度参数类型:*args, **kwargs

    文章目录 1 简介 2 问题 3 分析 4 示例扩展 5 小结 1 简介 在Python的函数定义中, 我们可以看到有类似 fun(v1, *args, **kwargs) 这样的内容,其中*args ...

  9. Java工程中的主函数public static void main(String[] args)

    Java工程中的主函数 主函数简介 主函数声明中各关键词的作用 public static void String[] args 一个Java工程中可以有多个主函数 平时写java project的时 ...

  10. C++中若类中没有默认构造函数,如何使用对象数组

    前言: 如果定义一个类,有其默认的构造函数,则使用new动态实例化一个对象数组,不是件难事,如下代码: 1 #include <memory> 2 #include <iostrea ...

最新文章

  1. 知道吗?滚还是不滚的问题和信息论有关!
  2. 废旧纸箱做机器人图片_制作纸箱板画(适合1112岁孩子们)
  3. 编程语言中,差、交、并、自然连接、选择、投影、笛卡尔积分别都是什么运算...
  4. java nio 系列教程 四_Java NIO系列教程(四) Scatter/Gather
  5. linux下高可用性群集和负载均衡群集的实现
  6. 机械制图与计算机辅助绘图题,机械制图与计算机绘图作业题解ppt课件.ppt
  7. 百日计划:第一周,《七周成为数据分析师》课程近万字总结
  8. 2010年中国十大最赚钱职业
  9. Centos系统升级到7.6
  10. spec之install
  11. 工业设备产品建模3d展示三维模型展示
  12. Win10系统此电脑隐藏特定文件夹
  13. 阿里云服务器可以更ip吗?
  14. ps 2019直装版 for Mac
  15. 如何导入BurpSuite 证书
  16. android系统允许icon角标,安卓手机角标显示方案
  17. java毕业生设计二手车交易市场网站计算机源码+系统+mysql+调试部署+lw
  18. Opencv边缘检测、轮廓发现、绘制轮廓
  19. 爬虫爬取新闻并生成词云
  20. File的获取功能(新手用于记录每天的作业)

热门文章

  1. PHP扩展开发 - 构建第一个PHP扩展
  2. Struts ActionForm简单理解
  3. 黑马程序员之《String 类练习》
  4. java mysql开发_Java数据库开发
  5. 【Python】选择数组中的数,拼接成一个最大字符串数(易错题,cmp_to_key举例)
  6. Jupyter notebook 多行注释 输出注释的文本
  7. pyspark intersection代码示例
  8. Spark on YARN cluster client 模式作业运行全过程分析
  9. openresty获取nginx body内容体
  10. Java加视频特效,实现伪原创