重载和java完全不一样吗

来源:2-9 PHP类和对象之重载

暴躁的代码

2017-02-14 14:47

这个类里面没有speedDown()方法怎么调用

写回答 关注

3回答

  • emily973
    2017-03-23 16:06:00
    已采纳

    按照网上的说法,实际上是一个伪重载;

    因为重载必须符合以下两个条件:

    1、函数参数的个数不一样。

    2、参数的类型不一样。

    这两点,PHP都没有办法满足,您可以对函数多添加参数,只是相当于多传了个临时变量。而弱类型本来就不区分,所以无法通过这些来实现。

    所以PHP的提供了一个魔术方法,mixed __call ( string name, array arguments )。根据官方文档,称此方法可以实现函数重载。当调用对象中一个不存在的方法的时候,如果定义了__call()方法,则会调用该方法。

    暴躁的代码

    正解

    2017-03-24 16:50:17

    共 1 条回复 >

  • 慕移动9181930
    2022-03-23 09:40:35
  • JinnyZh
    2017-02-14 14:54:24

    不一样吧, 这节课的第一个例子说明了调用的机制

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181728 学习 · 2575 问题

查看课程

相似问题