问题标签 [overloading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
14454 浏览

java - 将超类作为参数传递给期望子类的方法

我有一个看起来像的对象树

我有两种方法:

在另一堂课上,我想做以下事情:

其中 myBall 是 Ball 类型。并让它根据子类型调用正确的方法。显然我不能这样做......这些论点不适用。

有谁知道我怎样才能实现我想要的?或者如果有一个好的解决方法

谢谢

编辑:我正在尝试构建的应用程序是板球记分卡类型的东西。因此,根据保龄球的类型,其他各种元素应该改变。

我的初衷是能够从某种形式的 UI 中指定球的类型和得分,然后从 BallFactory 创建一个适当的类型球,然后例如当我向球队得分发送一个无球时,它会将值添加到球队得分,但也将值添加到无球计数器。但是,当我将同一个球交给击球手分析来处理它时,击球手总得分应该只有 1 分。

我希望这不是太糟糕的解释我的初衷。

0 投票
2 回答
280 浏览

c++ - 哪个编译器对于以下重载/专业化行为是正确的?

考虑以下代码:

预期的输出是多少?“T”还是整数?

一个编译器(来自 Apple Xcode 3.1.2 的 gcc 4.0.1)输出“int”,另外两个编译器(gcc 4.1.2 和 4.1.3)输出“T”。

如果我在 foo(T *, int) 版本之前移动 foo(int *, int) 声明/定义,则所有输出“int”。在这种情况下,重载/专业化的顺序是否由当前标准定义?

0 投票
5 回答
3053 浏览

c# - 如何通过泛型类型的特定实例重载 C# 方法

来自 C++ 背景,我遇到了基于泛型类型的特定实例的重载问题。以下内容不起作用,因为只Foo<T>生成了一次该类的代码实例,所以在里面Method,类型this是简单的,Foo<T>不是我希望的。在 C++ 中,我习惯于将模板实例化为唯一类型。Foo<A>Foo<B>

有没有办法让这样的东西在 C# 中工作?我宁愿不必将 Foo 中的代码复制为我想要使用的每种类型的单独类。

编辑:希望这更清楚一点。

0 投票
4 回答
2607 浏览

c++ - 在 C++ 中使用 const 覆盖两个参数的运算符

我正在尝试使用两个 const 参数创建一个重写的运算符函数,但我不知道该怎么做。这是一个简单的例子:

我在这里要做的是将两个参数传递给加法函数,它们都是 const 并返回结果而不更改类中的任何内容:

这可能吗?我将如何去做?

谢谢,

0 投票
6 回答
2889 浏览

c# - 重载方法调用重载方法

我有一个正在编写的方法,它在其中调用另一个重载方法。我只想写一个外部方法,因为外部方法的参数被传递给内部方法。有没有办法做到这一点?

我尝试使用泛型,但我对此知之甚少,因此它不起作用:

我知道我可以这样做:

但我宁愿以正确的方式做到这一点,而不是复制/粘贴代码。实现这一目标的最佳方法是什么?

0 投票
7 回答
71744 浏览

c++ - C++ 中的覆盖和重载

是的,我确实理解它们之间的区别。我想知道的是:为什么要覆盖一个方法?这样做有什么好处?在重载的情况下:唯一的优点是您不必为函数考虑不同的名称?

0 投票
18 回答
172543 浏览

c# - 你能在 ASP.NET MVC 中重载控制器方法吗?

我很想知道您是否可以在 ASP.NET MVC 中重载控制器方法。每当我尝试时,我都会收到以下错误。这两种方法接受不同的参数。这是不能做的事情吗?

当前对控制器类型“MyController”的操作“MyMethod”的请求在以下操作方法之间不明确:

0 投票
14 回答
100874 浏览

programming-languages - 返回类型的函数重载?

为什么更多主流静态类型语言不支持返回类型的函数/方法重载?我想不出有什么办法。它似乎与支持参数类型的重载一样有用或合理。怎么人气这么低?

0 投票
3 回答
2737 浏览

java - Java 方法分派如何与泛型和抽象类一起工作?

我今天遇到了一种情况,Java 没有调用我期望的方法——这是最小的测试用例:(很抱歉,这似乎是做作的——“现实世界”的场景要复杂得多,而且更有意义从“你为什么要这样做?”的角度来看。)

我对为什么会发生这种情况特别感兴趣,我不在乎重新设计的建议。我感觉这是在 Java Puzzlers 中,但我手边没有我的副本。

请参阅下面 Test<T>.getValue() 中的特定问题:

这段代码的输出是:

0 投票
37 回答
523159 浏览

javascript - Javascript 中的函数重载 - 最佳实践

在 Javascript 中伪造函数重载的最佳方法是什么?

我知道不可能像在其他语言中那样重载 Javascript 中的函数。如果我需要一个具有两种用途的功能,foo(x)并且foo(x,y,z)这是最好/首选的方式:

  1. 首先使用不同的名称
  2. 使用可选参数,如y = y || 'default'
  3. 使用参数数量
  4. 检查参数的类型
  5. 或者怎么做?