问题标签 [constructor-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.
java - 从另一个构造函数调用另一个构造函数,在 Java 中重载
我正在阅读这篇文章:
但我不知道我的代码有什么问题:
注意:只有我使用三个构造函数的一个调用......错误消息表示为消息使用//
或/*...*/
......
有什么问题?
java - 从孙类调用超类构造函数,调用父或祖父构造函数?
当使用来自二级子类的超类构造函数时,它会将参数传递给祖父构造函数还是直接父构造函数?
c# - 我可以在构造函数中同时调用 this 和 base 重载吗?
我能找到的最接近的线程是这个,但是场景不同——要调用的基本构造函数是默认的。这里我需要指定我要传递的参数。
假设我们有以下场景:
我想避免在 A 的第二个构造函数重载中重复相同的逻辑(从技术上讲,我可以将所有逻辑包装到一个函数中,以减少复制粘贴/提高可维护性,因为最后所有重载都将依赖于相同的代码。如果没有其他解决方案)。
我以为我可以先调用 A 的第一个构造函数重载,然后再调用基础构造函数。但似乎我做不到。
这里的方法是什么?
c++ - 为什么以及何时执行重载构造函数?
我不明白为什么A::A(a)
在调用c->g()
或print(*c);
而且我不太确定方法打印属于程序的哪个部分?
c++ - 编译时字符串:`const char *` / `const char[]` 之间的构造函数重载优先级
我正在尝试制作一个编译时字符串类。我从这篇文章中得到了一些提示。不幸的是,我坚持构造函数重载优先级:const char[]
构造函数被忽略而有利于 const char*
构造函数。任何提示将不胜感激!
如果我可以制作编译时字符串常量,我可以做很多很酷的事情。
- 字符串相等性测试
string
比const char *
- 消除对编译时常量字符串的
const char *
调用string
的隐式转换的运行时开销。strlen()
- 执行相等性测试而不是散列大小 < N 的编译时字符串集。(这是我正在查看的一个应用程序的多个 CPU 开销)
java - 试图让一个类构造函数使用来自另一个类构造函数的一些参数
抱歉,这可能是一个简单的解决方案,但我在编写用于创建一个对象的代码时遇到了麻烦,该对象将在 Java 中使用来自另一个类构造函数参数的参数。本质上,我有这个具有某些参数的 Inv 对象,并且我正在尝试仅使用 Inv 对象中的某些参数创建一个 Warehouse 对象,然后将在 Warehouse Transaction 类中使用该对象。我可以在 Inv 对象构造函数中执行 if 语句吗?不管怎样,我稍后会将这个对象推送到堆栈上,但我无法开发创建第二个对象的逻辑。请帮忙,我对此很陌生。
{
c++ - C++ class template constructor -- overload reference(U&) with array(U*) failed
I am trying to build a constructor to take an array as an argument which overloads another who take a scalar instead. Code is below.
The compiler complains that
Obviously, vec2(arr)
still calls the first constructor. However, if I remove template <typename U>
and replace U
to T
. The program just works fine. What should I do to correct this?
Any suggestions are appreciated!
javascript - 如何在 JavaScript ECMA6 中重载构造函数?
客观的
在 JavaScript ECMA6 中实现允许构造函数重载的机制
为什么这不是重复的
主题为什么 JavaScript ES6 不支持多构造函数类?,虽然相似和这个不一样。另一个主题仅关注使用旧ECMAScript 版本的构造函数重载,而本主题关注 ECMA6。如果您正在寻找更新的答案,那就是这个地方。
背景
我有一个带有给定构造函数的 JavaScript 类,我希望用户在实例化对象时能够拥有不同的构造函数。我假装的一个例子可能如下:
在这段代码中,用户可以使用三个构造函数,每个构造函数采用不同数量的参数。使用示例如下:
问题
如果使用 Java 或 C#,这是一个简单的示例,因为这些语言具有构造函数重载。
但是,从 MDN 的类文档中可以得出结论,JavaScript 没有。
问题
- 有没有办法使用 ECMA6 为 JavaScript 类实现类似的机制?如果不是,最好/最接近的选择是什么?
c# - 在方法参数中区分基类和派生类
是否可以在 C# 中重载构造函数,以便程序在参数属于派生类时选择使用一个构造函数,如果是基类则选择使用不同的构造函数。例如
也就是说,我希望程序根据对象类型选择正确的构造函数。