php中args,PHP中的重载,即__call($name , $args)的使用
今天温习了下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)的使用相关推荐
- C++中的指针特征操作符重载
文章目录 1 C++中的指针特征操作符重载 1.1 指针特征操作符重载 1.2 使用指针特征操作符重载实现智能指针 1 C++中的指针特征操作符重载 1.1 指针特征操作符重载 指针特征操作符重载: ...
- C++中数组访问操作符的重载
文章目录 1 C++中数组访问操作符的重载 1.1 重载数组访问操作符 2 重载数组访问操作符时出现的问题 1 C++中数组访问操作符的重载 1.1 重载数组访问操作符 对于数组操作符: 数组操作符是 ...
- python args kwargs_Python中的args和kwargs
有时,你会看到python中定义函数的时候带有两个奇怪的参数:*args.**kwargs.如果你曾经想知道它们是干什么的,或者想知道你的IDE为什么在main()函数中定义它们,那么本文可以帮助到你 ...
- 【转】C++中如何区分构造函数与重载operator()得到的仿函数?
转自:C++中如何区分构造函数与重载operator()得到的仿函数?求大神!_360问答 此外,你觉得仿函数(functor)是否能完全取代function呢? 以下是个人使用C++仿函数,func ...
- java 方法的重载_Java中的方法和方法重载
今天我们来说说Java中的方法和方法重载以及需要注意的一些地方; 方法: Java的方法类似与其他语言的函数,是一段用来完成特定功能的代码片段, 声明格式: [修饰符1 修饰符2 ....] ,返 ...
- python计算复数的辐角_Python 自定义类中的函数和运算符重载
如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...
- java关于重写正确,在Java中,以下关于方法重载和方法重写描述正确的是( )
在Java中,以下关于方法重载和方法重写描述正确的是( ) 答:方法重写的返回值类型必须相同或相容.(或是其子类) 对乙酰氨基酚临床用途是抗炎抗风湿作用 答:错 观念艺术是哲学的反思,传统的理论可以对 ...
- Python中的两种函数可变长度参数类型:*args, **kwargs
文章目录 1 简介 2 问题 3 分析 4 示例扩展 5 小结 1 简介 在Python的函数定义中, 我们可以看到有类似 fun(v1, *args, **kwargs) 这样的内容,其中*args ...
- Java工程中的主函数public static void main(String[] args)
Java工程中的主函数 主函数简介 主函数声明中各关键词的作用 public static void String[] args 一个Java工程中可以有多个主函数 平时写java project的时 ...
- C++中若类中没有默认构造函数,如何使用对象数组
前言: 如果定义一个类,有其默认的构造函数,则使用new动态实例化一个对象数组,不是件难事,如下代码: 1 #include <memory> 2 #include <iostrea ...
最新文章
- 知道吗?滚还是不滚的问题和信息论有关!
- 废旧纸箱做机器人图片_制作纸箱板画(适合1112岁孩子们)
- 编程语言中,差、交、并、自然连接、选择、投影、笛卡尔积分别都是什么运算...
- java nio 系列教程 四_Java NIO系列教程(四) Scatter/Gather
- linux下高可用性群集和负载均衡群集的实现
- 机械制图与计算机辅助绘图题,机械制图与计算机绘图作业题解ppt课件.ppt
- 百日计划:第一周,《七周成为数据分析师》课程近万字总结
- 2010年中国十大最赚钱职业
- Centos系统升级到7.6
- spec之install
- 工业设备产品建模3d展示三维模型展示
- Win10系统此电脑隐藏特定文件夹
- 阿里云服务器可以更ip吗?
- ps 2019直装版 for Mac
- 如何导入BurpSuite 证书
- android系统允许icon角标,安卓手机角标显示方案
- java毕业生设计二手车交易市场网站计算机源码+系统+mysql+调试部署+lw
- Opencv边缘检测、轮廓发现、绘制轮廓
- 爬虫爬取新闻并生成词云
- File的获取功能(新手用于记录每天的作业)