问题标签 [constructor-chaining]

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 投票
1 回答
44 浏览

c++ - 预先完成一些工作的 C++ 委托构造函数

我正在尝试按照以下方式做一些事情

我知道 C++ 11 中的委托构造函数,我想知道是否可以在调用委托构造函数之前做一些事情。

另外,不相关,但this在初始化列表中可用?

0 投票
1 回答
119 浏览

java - 构造函数在调用 this(aguments) 之前链接和准备参数

我正在制作一个 Yahtzee 游戏。我想为不同的情况提供一个构造函数。假设您懒得提供您想与之创建新游戏的玩家的姓名,我只想创建“未命名玩家 1”、“未命名玩家 2”等。

这是我尝试这样做的方法:

根据评论中写的错误,这当然不起作用。

有没有解决的办法?我需要一个工厂模式吗?

0 投票
1 回答
334 浏览

c# - C# 构造函数链接调用顺序

我有一个可以用数据或二进制读取器(它用来反序列化它的数据)创建的类。它对数据进行了额外的初始化,并且由于我不想复制该代码,因此我想链接构造函数。现在这个链接看起来像这样:

这些读取调用的顺序是否具有确定性?

澄清:read.ReadString()我说的是和reader.ReadInt32()被调用的顺序。

0 投票
1 回答
107 浏览

c++ - 构造函数链接不使用类成员的默认值?

我有两个班级单位和弓箭手。Archer 继承自 unit。我尝试使用构造函数链接来设置基类的统计信息,但如果我使用以下代码,统计信息似乎设置为零:

输出为 0。如果我用一个值而不是使用成本(例如 25)调用 Unit 的构造函数,我会得到我使用的值。由于某种原因,我在弓箭手类中设置的基本值根本没有被使用。

另外,我对 OOP 有点陌生,所以我想我可能会以错误的方式做这件事。如果有人能告诉我正确的方法,我会很高兴。

0 投票
2 回答
239 浏览

java - 我想在多级继承中只调用子类构造函数?

运行代码时,它会调用所有构造函数,但只需要调用子构造函数。

像只打印一样输出

0 投票
1 回答
46 浏览

java - 如何让参数化构造函数中的派生类链访问使用派生构造函数初始化的基类的字段

我有一个带有配置文件的参数化构造函数的前馈类:

其中 super(cfg) 调用 Network 类的构造函数,我在其中处理文件解析和通用字段的存储:

当我运行测试时,它会抛出 NullPointerException。前馈中的类型变量未分配存储在 cfgPath/cfg 文件中的值,因此出现异常。为什么构造函数链接不这样做,我该如何做不同的事情?

0 投票
5 回答
82 浏览

java - Java中的链式构造函数

想不出更好的标题。

一个经典的学习示例: class Human,其中属性是姓名、年龄、母亲和父亲。父母双方也Human一样。

我想创建 3 个构造函数:

  1. Human();
  2. Human(String name, int age);
  3. Human(String name, int age, Human mother).

我确实了解链接的工作原理,这就是我所做的:

如上所述,我收到了,我StackOverflowError我再次知道它为什么会发生。虽然公平地说,我想我会得到像人类杰克这样的东西,他的母亲也是人类杰克

不过,我想知道该怎么做。我的猜测是,new Human()我应该用所有参数调用构造函数,但我不确定它是否正确以及唯一可用的选项。

将不胜感激这里的任何指导。

0 投票
2 回答
49 浏览

java - 链接构造函数是否有约定或正确顺序?

我一直在考虑这个问题,并且看到了不同的例子。通常我会以向上的方式链接构造函数。因此,如果我有 4 个不同的构造函数,从一个默认构造函数开始,谁调用我们需要传入一个参数的构造函数,谁调用我们需要传入 2 个参数的构造函数等等,所以我们有可用的对象,其中所有字段都保存数据。

是否有不同的方法来链接构造函数,因为我想不出另一种情况?为什么我想要我的构造函数,我需要 3 个参数来传递,调用我的构造函数,我只需要传递 2 个参数?

0 投票
2 回答
116 浏览

java - java中构造函数链接的意义何在以及如何将它与tostring()结合起来?

所以我知道如何使用它,它是如何工作的。这个问题在现实生活场景中有什么意义。toString()想象一下没有覆盖的创建类。那么,如果您无法正确显示该课程,那该课程有什么意义呢?

请尽量不要解释构造函数链接的工作原理或类似的东西。我知道它是如何工作的。我想知道在现实生活中是否有人这样做,因为没有toString()覆盖我看不到重点

所以想象我创建了一个对象

并试图打印它

我如何实现toString()这个

0 投票
0 回答
119 浏览

java - 为什么我们需要在同一个类中使用构造函数链接而不是使用方法?

我正在学习构造函数链接,我得到了两个案例。一种是初始化父类,这是可以的。Java默认调用父类的构造函数,如果需要我们可以使用super。

我得到的另一个案例与代码冗余有关。下面是一个例子。

// 上面的例子很好,我可以看到我不必编写初始化名称和城市的代码,但可以编写相同的代码如下

我试图了解是否存在任何需要构造函数链接和使用方法样式进行初始化的特定用例不适用。如果不是,那么一个比另一个有什么优势,或者为什么首选构造函数链接?