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

c# - C# 中有类似 PHP 的可选参数吗?

使用PHP 可选参数,如果您不发送参数,它将被分配给默认值:

在 C# 中,我通常使用C# 方法重载来解决这个问题,例如:

但我想念实用的 PHP 变体,C# 是否也有一些含糖的语法来执行可选参数,就像在 PHP 示例中一样?

0 投票
6 回答
2904 浏览

c# - 如何改变这种设计以避免沮丧?

假设我有一个对象集合,它们都继承自一个基类。就像是...

现在,我们需要喂养这些动物,但不允许它们知道如何喂养自己。如果可以,答案将很简单:

然而,他们不知道如何养活自己,所以我们想做这样的事情:

当然,这不会编译,因为它会迫使一个沮丧。

感觉好像有一种设计模式或其他一些带有泛型的解决方案可以帮助我解决这个问题,但我还没有把手指放在它上面。

建议?

0 投票
4 回答
4106 浏览

java - Java 重载方法

我正在尝试使用一个文件在命令窗口中创建一个菜单。用户从那些菜单选项中进行选择。他们被提示输入一个数字。该数字被传递给两个重载方法,这些方法确定该数字是整数还是浮点数。计算完成后,结果将打印到屏幕上并重新出现菜单。这是我的两个文件中的代码。

MyMathOpsTest 类:

MyMathOps 类:

此代码是我自己键入的代码和我教科书中的示例代码的组合。这不会在 jGRASP 中为我编译。我得到这些错误。

我在这里做错了什么?我花了几个小时研究这个并阅读我的教科书。如果我不明白这一点。我会得到一个不好的成绩。我需要在这门课上取得好成绩,这样我才能进入一流的计算机科学大学。谢谢你的帮助。

万一我的导师或盐湖社区学院的任何管理员遇到这个问题,让我明确表达我的意图。这个问题是本着学术诚信的最大精神发布的。我问这个问题是为了寻求一般建议和帮助,以了解使用 Java 编程语言的正确方法。我绝不会使用他人的作品并将其视为我自己的作品。我使用此处提供的答案作为我理解的一般帮助。我自己做所有的工作,不会复制回答我问题的人提供的工作。

0 投票
3 回答
2936 浏览

c++ - 重载 C++ STL 方法

如何为查找、擦除和插入等方法重载 STL 实现以获取不同的参数?我试图查找 STL 方法的重载,但找不到任何帮助。

0 投票
2 回答
176 浏览

c# - 我的重载应该有多明确?

我正在为 C# 的 jquery 插件构建一个包装器,我不喜欢 [Optional] 的使用,因为它不像它所说的那样“可选”(这意味着你仍然必须声明那个 System.Missing 库)所以我决定使用重载方法。我想给用户很多定制,但我不确定我的重载应该有多明确。我应该根据参数的重要性来分解它还是对每个场景都进行重载。

  • 超载的足迹是什么?
  • 会不会降低效率?
  • 在 OOP 方面是否不受欢迎?

  • PS我正在调用基类的构造函数并且必须使用base(param1, param2, ...)方法,但我也想使用this(param1, param2, ...)而不是必须在每个场景中初始化我的成员变量,有没有办法解决这个问题?

    0 投票
    12 回答
    71779 浏览

    c++ - 可选函数参数:使用默认参数(NULL)还是重载函数?

    我有一个处理给定向量的函数,但如果没有给出,也可以自己创建这样的向量。

    对于这种情况,我看到了两种设计选择,其中函数参数是可选的:

    将其设为指针并NULL默认设为:

    或者有两个具有重载名称的函数,其中一个省略了参数:

    是否有理由更喜欢一种解决方案而不是另一种解决方案?

    我稍微喜欢第二个,因为我可以将向量作为const参考,因为它在提供时只能读取,不能写入。此外,界面看起来更干净(NULL不仅仅是黑客?)。间接函数调用导致的性能差异可能已被优化掉。

    然而,我经常在代码中看到第一个解决方案。除了程序员的懒惰之外,还有令人信服的理由喜欢它吗?

    0 投票
    1 回答
    10330 浏览

    c++ - 如何获取重载成员函数的地址?

    我正在尝试获取指向特定版本的重载成员函数的指针。这是示例:

    错误消息是“错误 C2440: 'initializing' : cannot convert from 'overloaded-function' to 'MemberFunctionType'”

    如果f没有重载,则此方法有效,但在上面的示例中无效。有什么建议吗?

    编辑

    请注意,上面的代码并没有反映我的实际问题,即我忘记了一个“const”——这就是公认的答案所指出的。不过,我会保持原样,因为我认为这个问题可能发生在其他人身上。

    0 投票
    5 回答
    169 浏览

    c# - 专门实现 GenericType对于情况 A == B?

    我有一个泛型类,它接受两个类型参数,Generic<A, B>. 此类具有具有不同签名的方法,这些方法很长A并且B是不同的。但是,如果A == B签名完全匹配并且无法执行重载解决方案。是否有可能以某种方式为这种情况指定方法的专业化?还是强制编译器任意选择匹配的重载之一?

    0 投票
    6 回答
    7336 浏览

    c# - C#:将 null 传递给重载方法 - 调用哪个方法?

    假设我有两个 C# 方法的重载版本:

    我用以下方法调用该方法:

    调用方法的哪个重载?我可以做些什么来确保调用特定的重载?

    0 投票
    5 回答
    102912 浏览

    python - Python中的函数重载:缺失

    正如函数重载所说:

    Python 中没有函数重载。

    就我而言,这是一个很大的障碍,因为它也是一种面向对象(OO)的语言。最初我发现无法区分参数类型很困难,但是 Python 的动态特性使它变得容易(例如,列表、元组、字符串非常相似)。

    但是,计算传递的参数数量然后执行这项工作就像是矫枉过正。