问题标签 [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 投票
4 回答
6853 浏览

.net - Graphics.DrawRectangle(Pen, RectangleF)

http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawrectangle.aspx

FillRectangle、DrawRectangle、FillElipse 和 DrawEllipse 都可以采用 4 个 Float(或“Single”)参数:x、y、宽度、高度。不过,DrawRectangle 是唯一不采用 RectangleF 的。

我想知道是否有人知道这是为什么。看起来他们似乎只是忘记了超载它。

0 投票
3 回答
10987 浏览

c++ - 继承的成员函数的重载

一个类可以重载公共继承接口中也存在的方法吗?看起来这是明确且有用的,但编译器(VC、Intel、GCC)都抱怨,至少在我的构造中是这样。下面是一个玩具示例。继承的反弹() 函数有两个明确的重载,但这不会编译。如果你在任一类中重命名rebound() 方法,它可以正常工作,但如果它们共享相同的成员函数名(即使它们被不同的参数类型重载!)你会得到一个致命错误“函数的参数太少称呼。”

解决方法很简单(我将重命名方法),但我只是想了解这是否是 C++ 限制(以及为什么会这样)。

0 投票
3 回答
330 浏览

php - 类似于 PHP 中的重载?

我想完成这样的事情:调用一个方法,说“转”,然后将“转”以不同的方式应用于不同的数据类型,例如,用“螺丝刀”对象/参数调用“转”使用“转螺丝刀” " 方法,使用 "steeringWheel" 对象/参数调用 "turn" 使用 "turnSteeringWheel" 方法等 -- 正在做不同的事情,但它们都称为 "turn"。

我想实现这一点,以便调用代码不必担心所涉及的类型。在此示例中,“转”应该足以“转”“螺丝刀”、“转向轮”或任何可能需要“转”的东西。

在 C++ 中,我会通过重载来做到这一点——C++ 会根据数据类型/签名对事情进行分类——但这在 PHP 中不起作用。

关于我应该从哪里开始的任何建议?switch 语句很明显,但我认为必须有一个(更优雅的)OO 解决方案。不?

TIA

0 投票
14 回答
226716 浏览

c - 如何在 C 中实现函数重载?

有没有办法在 C 中实现函数重载?我正在寻找要重载的简单函数,例如

我认为没有直接的方法;如果有的话,我正在寻找解决方法。

0 投票
1 回答
1394 浏览

javascript - Javascript function() 文字重载

我一直很好奇是否有可能重载函数文字,就像你可以用函数做的那样:

当然你可以猜到这是调试整个项目的好方法。然而,我在这里所做的任何努力都是徒劳的。

给各位专家的问题是:

  1. 也许有一些我不知道的东西,也许有可能重载这个该死的构造函数?(但可能不是)。
  2. 如果不是那么 - 如何做到这一点 - 如果可能的话 - 在任何浏览器中(不仅仅是使用 javascript - 而是他们的扩展语言 - 每个浏览器都有这样的东西)。
  3. 如果不是那么 - 这是如何通过像萤火虫等插件完成的?
0 投票
5 回答
19049 浏览

generics - 具有泛型参数类型的函数

我试图弄清楚如何定义一个适用于多种类型参数(例如 int 和 int64)的函数。据我了解,在 F# 中函数重载是不可能的(当然编译器会抱怨)。以下面的函数为例。

编译器当然会抱怨语法无效(似乎不支持模式匹配中的类型约束),尽管我认为这说明了我想要实现的目标:一个对多个参数类型进行操作并返回相应值的函数类型。我有一种感觉,在 F# 中使用泛型类型/类型推断/模式匹配的某种组合是可能的,但是语法让我无法理解。我也尝试过使用 :? 运算符(动态类型测试)和模式匹配块中的when子句,但这仍然会产生各种错误。

由于我对这门语言相当陌生,我很可能在这里尝试做一些不可能的事情,所以如果有替代解决方案,请告诉我。

0 投票
6 回答
6424 浏览

java - 为什么自动装箱会使 Java 中的某些调用模棱两可?

我今天注意到自动装箱有时会导致方法重载解析的歧义。最简单的例子似乎是这样的:

编译时,它会导致以下错误:

此错误的修复很简单:只需使用显式自动装箱:

它按预期正确调用了第一个重载。

那么为什么重载解析失败了呢?为什么编译器不自动装箱第一个参数,并正常接受第二个参数?为什么我必须明确要求自动装箱?

0 投票
8 回答
5947 浏览

c# - C# .NET 中的重载方法

如果我们在传递给下面的重载方法之前将其转换为“Object”,则 Int32 类型的变量不会被威胁为 Int32:

将其作为 Int32 处理,即使它被转换为“Object”也可以通过反射来实现:

还有另一种方法吗?也许使用泛型?

0 投票
2 回答
164 浏览

parameters - 何时使用方法重载 VS“请求”对象

确定何时使用方法重载以及何时使用单独的“请求”类的最佳“经验法则”是什么?例如:

相对于:

最好坚持一种方式或另一种方式,还是在“必要”时使用?关于何时何地应该使用一个而不是另一个?

你如何决定使用哪个,为什么?

0 投票
9 回答
97735 浏览

python - 重载打印python

我可以重载print函数并从内部调用正常函数吗?我想要做的是在我想print调用 my的特定行之后print,它将调用正常print并将副本写入文件。

我也不知道如何超载print。我不知道如何做可变长度参数。我很快就会查到它,但 重载打印 python刚刚告诉我我不能print2.x中重载,这是我正在使用的。