PHP:函数的重载
来源:互联网 发布:淘宝哎呦喂被挤爆了 编辑:程序博客网 时间:2024/06/10 05:35
多态是面向对象的三大特性之一(继承性,封装性,多态性),而方法的重载又是多态的两种形式之一(覆盖,重载).
所谓重载:指一个标识符被用作多个函数名,且能够通过函数的参数个数或者参数类型将这些同名的函数区分开来
其实,个人认为上面的解释,有严重误导读者的嫌疑,因为.在PHP的一个类中,不可能存在名字一样的函数
class Lausen{ public function play($num){ } public function play($num1,$num2) { }}
所以说.PHP其实不直接支持函数的重载,但是可以通过魔法方法
function __call($name, $arguments) { // TODO: Implement __call() method. }
来进行间接的支持,通过调用一个没有定义的方法,来判断传进来的参数类型或者参数个数,来进行不同的方法的调用,如下例:
class overLoad{ public $object = "对象"; public $arr = "数组"; public $str = "字符串"; public function __call($name, $arguments) { // TODO: Implement __call() method. if ($name == "disPlay"){ if (is_object($arguments[0])){ return $this->object; }else if (is_array($arguments[0])){ return $this->arr; }else { return $this->str; } } }}//1:类的实例化$ov = new overLoad;echo $ov->disPlay("lausen")."<br>";echo $ov->disPlay(array(1,2,3))."<br>";echo $ov->disPlay($ov);
打印结果
阅读全文
0 0
- PHP:函数的重载
- PHP 构造函数的重载
- php关于重载函数的笔记
- PHP 函数重载
- PHP重载构造函数
- php 函数重载
- php函数重载
- PHP 函数重载
- PHP实现函数重载
- php函数重载与构造函数重载
- php类的重载函数简单的实现
- 函数 函数的重载
- 函数-函数的重载
- PHP的伪重载
- PHP的伪重载
- PHP的伪重载
- PHP的“重载方法”
- php的重载
- C语言:数组名作为函数参数
- 获取包围对象的多边形 approxPolyDP
- 公开(Public)链、联盟(Consortium)链和私有(Private)链
- Linux进入root用户模式
- 细说mysql索引
- PHP:函数的重载
- 左旋转字符串
- 1026. 程序运行时间(15)(输出时间和补齐输出格式
- Ubuntu系统如何安装VMware tools
- Spring+redis缓存使用
- 关于loadrunner测试接口的问题
- lightoj 1245 Harmonic Number (II)
- 学习笔记1-C++-strcat,strcpy函数
- 多进程调用共享资源