在PHP中方法重载的实现细节
2018/09/24 19:44 分类: 技术交流 浏览:30
首先说明,由于PHP是弱类型编程语言,所以并不能像java或C++那样直接实现方法重载,我们今天讲的方法重载是使用了PHP的一个__call的魔术方法实现的,在官方的文档中也有类似的说明,只是没有实现的实例。
然后,我来为部分小白同志普及一下方法重载的概念。方法重载是面向对象编程语言的一个重要特征,定义多个相同的方法名称,通过不同的参数个数或不同的参数类型,产生不同的结果,称为方法重载。
比如:
当然, 以上代码是不可能执行成功的,因为PHP中是不允许这样编写的,只是一个伪代码,说明一下方法重载的概念而已。
在PHP中要实现方法重载我们必须得使用一个魔术方法 __call(),利用该方法的特性来实现方法重载:
语法: mixed __call ( string name, array arguments )
执行时机:在调用一个不存在的方法时自动执行该魔术方法
参数说明:
1. 被调用的不存在的方法名
2. 调用不存在的方法时传入的参数
给大家写一个可以执行的完整方法重载实例:
总结,在PHP中不能直接实现方法重载,可以使用PHP提供的一个魔术方法从而实现方法重载效果,虽然写法与C++等语言不同, 但是达到的效果是一样的。
感谢源码时代教学讲师提供此文章!
本文为原创文章,转载请注明出处!
|
赞 0