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

c++ - 接受指针和引用的 C++ 函数

我正在用 C++ 编写一个库,并且有一些可与模块一起使用的函数。一个示例如下所示:

问题是,如果函数也接受引用,有时会很方便(一些模块可能分配在堆栈上,一些在堆上,所有 &s 和 *s 很快就会变得无聊和混乱)。

现在我有内联函数,它接受引用,将它们转换为指针并调用原始函数。

我不太喜欢这个解决方案,因为对于更多功能,它会产生大量代码来编写、读取、编译......

正在考虑的另一件事是添加Module::operator Module *()将返回的内容this

您对此有何看法?我错过了史诗般的失败的可能性吗?

谢谢。

0 投票
6 回答
6694 浏览

c# - 重载“base”构造函数还是“this”构造函数?

我有几个从简化派生的类型,Base如下所示。

我不确定this在重载构造函数时是使用基类的构造函数还是构造函数。

ConcreteA纯粹使用base构造函数重载构造函数,而
ConcreteB重载使用this前两个重载。

重载构造函数的更好方法是什么?

[编辑] 看起来伊恩·奎格利在他的回答中所建议的似乎是有道理的。如果我要进行初始化验证器的调用,ConcreteA(string)则在以下情况下将永远不会初始化验证器。

0 投票
7 回答
3270 浏览

java - Java:更快的重载或 if/else

我有子类,每个类与其他成员一起携带不同类型的值。可能有 LongObject、IntObject、StringObject 等。

会给我一个值,可以是long、int、string等,我要分别创建一个LongObject、IntObject、StringObject等。

重载如下所示的方法会更快(a)还是只使用如下所示的 elseif (b)?

这可能不是明显的性能差异。无论如何,重载方法可能以与 if/else 类似的方式实现。我不知道。

我也可以听到你们中的一些人说只是测试它。当然,我应该这样做。如果有人知道的话,我还想知道如何在后台处理这种类型的重载。

请让我知道你的想法。

谢谢,jbu

一个)

b)

编辑:我想我没有完全添加所有细节,你们中的一些人抓住了它。对于这两种选择,我仍然必须获取一个对象/值,并根据该值确定它是什么类型。因此,我仍然必须做某种 if/else 才能使用重载方法。

0 投票
5 回答
1027 浏览

c# - 你能声明一个可变长度的泛型类型声明吗?

我有一个CheckDuration使用以下函数签名调用的重载实用程序方法。

基本上CheckDuration在控制台上打印运行一个方法需要多长时间。

现在,我想检查一个采用 2 个参数的方法的持续时间。
所以我必须CheckDuration用下面的方法签名创建另一个重载。

有没有办法更优雅地处理这个问题?
我在想类似的东西

,这显然行不通。

[更新]我现在将这个问题保持开放,看看是否有人想出了解决这种问题的方法。

0 投票
4 回答
22941 浏览

polymorphism - 多态性是重载的另一个术语吗?

多态性是重载的另一个术语吗?

0 投票
3 回答
78610 浏览

java - Java重载与覆盖

嗨,我只是想确保我有正确的这些概念。Java 中的重载意味着您​​可以拥有具有不同数量参数或不同数据类型的构造函数或方法。IE

这个方法怎么样?由于它返回不同的数据类型,它是否仍会被视为重载?


第二个问题是:java 中的覆盖是什么?是否与继承有关。让我有以下内容:

所以现在假设我有以下

如果我打电话

这将返回 Vehicle 类的价格,20,000

如果我打电话

这将返回卡车类的价格,14,000

我的知识对这两个问题都正确吗?

0 投票
5 回答
14195 浏览

java - Java 接口:继承、覆盖和重载方法

在 Ken Arnold、James Gosling、David Holmes 撰写的“THE Java™ Programming Language, Fourth Edition”中,它提到:

段落:(4.3.2) “同样,如果一个接口继承了多个具有相同签名的方法,或者如果一个类实现了包含具有相同签名的方法的不同接口,则只有一个这样的方法。该方法的实现最终由实现接口的类定义,没有歧义。如果方法具有相同的签名但返回类型不同,则返回类型必须是所有其他类型的子类型,否则编译时错误发生。实现必须定义一个返回该公共子类型的方法。

任何人都可以给我一些示例代码来证明上述段落的观点吗?

我尝试编写代码并测试所提到的内容,但出现编译时错误,子接口隐藏了基本接口方法,因此只能实现子接口方法。

提前致谢。-阿伦

0 投票
1 回答
605 浏览

generics - 如何在 IronRuby 中调用重载的泛型方法?

如何在 IronRuby 中调用重载的泛型方法?

我有一个具有以下方法的 .NET 类。(注意这些方法是静态的)

=> 产生错误“错误的参数”

顺便说一句,我正在使用 IronRuby 0.5。

0 投票
3 回答
307 浏览

php - 重载的 __get 是否需要管理所有成员变量?

我正在为一个类创建一个 __get() 函数来控制对我的私有成员变量的访问。我是否需要设计函数来处理所有可能的成员值读取,或者我不能为公共成员编写它?另外,我假设继承这个类的类将使用我的 __get() 函数来访问私有成员。

0 投票
2 回答
690 浏览

c++ - 模板类表达式参数重载

嘿,我想弄清楚是否可以用表达式参数“重载”模板类定义。有点像下面的代码片段。

谢谢。

编辑:为了记录,如果这不是很明显,我正在尝试用 C++ 来做到这一点...... :)