问题标签 [multiple-constructors]

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 投票
3 回答
357 浏览

c# - 以类为参数的构造函数链接

关于使用类参数链接构造函数的问题。

我有一个带有列表框的表单。此表单用于调试目的。当我实例化我的所有对象(类)时,我希望他们在这个列表框中写下发生了什么。所以我将调试类作为参数传递给其他类,以便每个人(类)现在都是这个列表框。我通过委托回调传递文本以从每个类写入列表框调试。问题是其他人想调用我的类(而不是调试器)并且他们想向我发送一个字符串。所以我试图使用链式构造函数,这样当我实例化我的类时,调试器类在参数中,当他们调用我的类时,它们使用字符串作为参数。

代码在那里:

调试器:

OtherClass 共享调试器列表框:

对此有何评论?或者我可以把问题作为答案吗?

非常感谢你的代码工作者!

并且带有可选参数应该是:

如果我们在调用中分配名称(在 form1 中),它会起作用:

为什么我们必须分配这些?一些帮助?

这是问题所在。来自https://msdn.microsoft.com/en-us//library/dd264739.aspx:“如果调用者为连续可选参数中的任何一个提供参数,则它必须为所有前面的可选参数提供参数。”因此,如果我省略第一个可选选项,它将不起作用。我们必须把名字:所以它被迫得到好的。

0 投票
1 回答
1331 浏览

java - 如何从另一个继承类调用超级构造函数?

我被指示执行以下操作:

  • 在 Carnivore 中创建一个不带参数的构造函数,调用 Animal 中的超级构造函数。

Carnivore 是 Animal 的子类,Animal 是超类。所以我希望在 Carnivore 中调用 Animal 中的构造函数。这是代码:

动物超类

食肉动物亚纲

我以前没有处理过继承问题,所以我仍在掌握它。任何反馈表示赞赏,谢谢。

0 投票
1 回答
160 浏览

java - 如何正确配置多个构造函数?

我正在做一个基于继承的分配,我创建了 2 个构造函数,它们应该做不同的事情。一个构造函数没有任何参数并且应该产生一个预定义的值,另一个构造函数有 2 个参数,这些参数由 String 和 int 类型的名称和年龄组成。我以某种方式重新配置了两个构造函数,以使它们都不会产生它们应有的结果。以下是调用这些构造函数的类:

动物(超类)

肉食动物

主要方法

实际输出

预期产出

年龄正在返回它们的默认值,第二个构造函数的名称也返回 null 但我不太清楚为什么。这是我第一次使用多个构造函数,所以我对它的工作原理有点困惑,所以非常感谢任何帮助,谢谢。

0 投票
3 回答
938 浏览

java - 以这种方式使用多个构造函数是否正确?

我不太确定这是如何工作的,但是如果我想选择为类的对象提供更多或更少的变量,这是否适用于这样的多个构造函数?

假设我想创建一个多项选择题,但是我不知道我的用户想输入多少个答案,也许是 2,3,4,5,6?所以为此:

也许我可以用某种枚举或开关做 1 个构造函数?归根结底,在尝试了这种方法之后,出于某种原因,将其放入哈希映射中,然后将其序列化到文件中不起作用,与 1 构造函数一样,它可以工作,但不会在其中写入所有内容。我对问题是什么感到有些困惑,也许这与我的 toString 覆盖有关,但无论如何,请告诉我这个问题,这样我就不必担心一个不那么令人困惑的问题了。

0 投票
0 回答
200 浏览

c# - Castle Windsor:在多个构造函数之间,为什么 Castle 会选择参数类型不正确的那个?

在一个类有多个构造函数的场景中,我知道 Castle Windsor 有一种算法用于检测“最贪婪”的构造函数并选择那个来解析组件。

但是,如果构造函数与 config.xml 中指定的参数名称和类型不匹配,为什么要选择它开始呢?

例如,假设以下配置:

和 MyType 类:

}

我期望容器做的是调用 MyComponent 的第一个构造函数和 MyOtherComponent 的第二个构造函数。相反,两个组件都调用了第二个构造函数。

为什么 Castle 调用的构造函数显然与我在 config 中指定的参数名称(和类型)不匹配?

0 投票
2 回答
82 浏览

java - 两个具有相同编号的构造函数。参数,但不同的数据类型

在这里,当我运行下面的代码时,我得到called了输出,我想知道为什么不called new。因为 1 属于shortint范围。

0 投票
1 回答
338 浏览

java - Java构造函数的Scala继承

我需要有一个HugeDecimal继承自java.math.BigDecimal. 由于内部原因,它不能成为一种特征。以下简单实现:

引发此错误:

我知道我可以做到:

但我需要能够从超类继承所有构造函数,而不支持任何单个超类构造函数。即,我需要将String构造函数调用超类的String构造函数。

答案Scala 从 Java 类继承:选择要调用的超级构造函数在 Scala 中,如何子类化具有多个构造函数的 Java 类?建议使用辅助构造函数委托给的特征或主构造函数,但这些都不适用于我的场景,因为我需要从可以调用以下内容的 Java 代码中访问:

我有什么解决方案,还是需要用 Java 实现这个类?

0 投票
1 回答
435 浏览

python - 为一个类使用多个构造函数的pythonic方法是什么?

我正在用python编写一些遗传算法。目前我正在看一本有java代码的书,所以但最终我试图编写自己的自适应遗传算法来优化神经网络参数和层,我所有的神经网络代码都是使用keras在python中......所以我是只是编写我自己的python代码,相当于书籍的java代码。

我目前设置它的方式遇到的问题是构造函数总是在第一条语句中将对象初始化为构造函数。

从我从与此类似的其他问题中看到的情况来看,您可以使用 classmethods 来执行此操作...并且您还可以使用 ...isinstanceOf 方法执行某些操作...您可以使用init方法 *args 和 **执行某些操作kwargs ......我认为你可以用 NoneType 参数做一些事情,这是我想要做的......但我一直在搞乱它,如果不添加额外的布尔参数,我似乎无法让它工作宁愿不做。

人们首选的解决多构造函数问题的方法是什么,你能按照我尝试的方式去做吗?

我尝试使用多个构造函数的示例。

谢谢,

马特

0 投票
3 回答
5469 浏览

kotlin - Kotlin 主构造函数调用辅助构造函数

为什么这不编译?

错误是:“test”类型的表达式“this”不能作为函数调用。未找到函数“invoke()”。

建议的解决方法是添加以下内容:

为什么?

0 投票
4 回答
194 浏览

java - Java:多个构造函数强制代码重用?

我有一个类,其中一个成员是ArrayList<ArrayList<Double>> elements,所以我有一个构造函数,它采用相同的类型,一切都很好。

但是,我还需要能够使用 type 的输入进行构造Double[][],所以我先将其转换为 2D 列表类型,然后调用原始构造函数...

只是,我不能调用另一个构造函数,除非是在我的构造函数中发生的第一件事!我注定要在这里复制粘贴,还是有一种聪明的方法可以做我想做的事?