PHP面向对象之旅:再谈重载
2011-07-12 00:00
796 查看
当类中的方法名相同时,称为方法的重载(overload),重载是Java等面向对象语言中重要的一部分。在PHP5中不支持重载。
程序运行结果为:
如果传递过来三个数值。如何计算?下面的写法,在Java中是太平常不过了。但是在PHP5中,不能这样。
PHP5不支持有多个相同名称的方法,也就是不支持重载。
程序运行结果为:
对于一个方法,缺少参数时候会报错。
当参数太多的时候,PHP就当什么都没有看到。程序可以正常运行。
程序运行结果为:
在PHP5中不支持重载。
先写一个取最大值的类。<!--写一个类,让他自动完成最大值的换算.--> <? class Math { //两个数值比较大小. public function Max($a,$b) { return $a>$b?$a:$b; } } $math = new Math(); echo "最大值是 ".$math->Max(99,100); ?>
程序运行结果为:
最大值是 100
如果传递过来三个数值。如何计算?下面的写法,在Java中是太平常不过了。但是在PHP5中,不能这样。
PHP5不支持有多个相同名称的方法,也就是不支持重载。
<!--写一个类,让他自动完成最大值的换算.--> <? class Math{ //两个数值比较大小. public function Max($a,$b) { return $a>$b?$a:$b; } //三个数值比较大小. public function Max($a,$b,$c) { $a = $this->Max($a,$b); return $this->Max($a,$c); } } $math = new Math(); echo "最大值是 ".$math->Max(99,100,88); ?>
程序运行结果为:
Fatal error: Cannot redeclare Math::Max() in E:\PHPProjects\test.php on line 10
对于一个方法,缺少参数时候会报错。
当参数太多的时候,PHP就当什么都没有看到。程序可以正常运行。
<!--写一个类,让他自动完成最大值的换算.--> <? class Math { //两个数值比较大小. public function Max($a,$b) { return $a>$b?$a:$b; } } $math = new Math(); echo "最大值是 ".$math->Max(99,100,100,100); ?>
程序运行结果为:
最大值是 100
相关文章推荐
- PHP面向对象重写重载覆盖
- php面向对象基础概念(属性重载的魔术方法)__get(),__set(),__isset(),__unset()
- php面向对象笔记6 类的重写和重载
- php面向对象全攻略 (八)重载新的方法
- php面向对象全攻略 (八)重载新的方法
- PHP面向对象_模拟一般面向对象语言中的方法重载(overload)
- php面向对象基础概念(重载新的方法parent::)
- PHP面向对象之方法重写与重载
- PHP 面向对象改进后的一点说明第1/2页
- PHP面向对象开发的学习(一)
- PHP 面向对象练习
- Yii中的超类(基类)使用 (读深入PHP面向对象笔记)
- php学习笔记------[PHP面向对象的程序设计]
- 面向对象重写(override)与重载(overload)区别
- PHP面向对象基础
- PHP面向对象开发的学习(三)(PHP100第二十讲)
- php面向对象教程3
- php面向对象知识
- 面向对象中的单例模式(PHP)
- PHP面向对象继承的概念