为了账号安全,请及时绑定邮箱和手机立即绑定

php重载与重写的区别?重载与其他语言(如java)有何差异?

php重载与重写的区别?重载与其他语言(如java)有何差异?

慕后森 2019-03-21 22:14:50
问题:  PHP手册中关于重载的内容如下:PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法。我们是通过魔术方法(magic methods)来实现的。  如__call($funcname, $arguments) 、 __callStatic($funcname, $arguments)  而JAVA语言中的重载,是指在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法。  提问:php和java关于重载的概念肯定是有区别的,但是不知道到底真正的区别在哪里?
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

Java是强类型的


public class DataArtist {

    ...

    public void draw(String s) {

        ...

    }

    public void draw(int i) {

        ...

    }

    public void draw(double f) {

        ...

    }

    public void draw(int i, double f) {

        ...

    }

}

php的所谓overloading, 只是对一些魔法方法的类似重写

评论里有句话不错


This article should call this technique "interpreter hooks".


查看完整回答
反对 回复 2019-04-22
  • 1 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信