问题标签 [constructor]

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 投票
14 回答
830 浏览

c# - 在构造函数中进行冗长的操作是否被认为是糟糕的设计?

我正在实现一个类来比较目录树(在 C# 中)。起初我在类的构造函数中实现了实际的比较。像这样:

但是在构造函数中做一个可能冗长的操作感觉不“正确”。另一种方法是将构造函数设为私有并添加如下静态方法:

你怎么看?您希望构造函数“快速”吗?第二个例子更好还是只是使类的使用复杂化?

顺便提一句:

我不会将任何答案标记为已接受,因为我认为没有正确答案,只有偏好和品味。

编辑:

只是为了澄清我的例子。我不仅对目录是否不同感兴趣,而且对它们的不同之处(哪些文件)感兴趣。所以一个简单的 int 返回值是不够的。cdragon76.myopenid.com 的答案实际上非常接近我想要的(+1 给你)。

0 投票
4 回答
2845 浏览

c++ - 如果抽象基类是接口,派生类构造函数中是否必须调用基类构造函数?

是否有必要在派生类构造函数中调用基构造函数?

0 投票
4 回答
6284 浏览

c++ - 如何使用私有构造函数中的引用成员初始化类?

我正在为一个类创建一个接口包装器。类中的成员是一个引用(以避免复制大型结构)。如果我创建一个私有构造函数,初始化该引用以安抚编译器的最佳方法是什么?

0 投票
23 回答
1020446 浏览

java - 如何在 Java 中从另一个构造函数调用一个构造函数?

是否可以从另一个(在同一个类中,而不是从子类中)调用构造函数?如果是怎么办?调用另一个构造函数的最佳方法是什么(如果有几种方法可以做到)?

0 投票
18 回答
16000 浏览

oop - 在构造函数中应该做多少工作?

应该在构造函数中执行可能需要一些时间的操作,还是应该构造对象然后稍后初始化。

例如,在构造表示目录结构的对象时,应在构造函数中完成对象及其子对象的填充。显然,一个目录可以包含目录,而目录又可以包含目录等等。

什么是优雅的解决方案?

0 投票
8 回答
20131 浏览

c++ - 如何为全局对象、对象数组以及类/结构中的对象调用构造函数?

在这三种情况下,您将如何调用以下类的构造函数:全局对象、对象数组和包含在另一个类/结构中的对象?

具有构造函数的类(在所有三个示例中都使用):

以下是我调用此构造函数的尝试:

全局对象

对象数组

在那里,我试图为数组的所有元素调用构造函数,但我也想知道如何在单个元素上调用它。

类/结构中包含的对象

0 投票
7 回答
90868 浏览

c# - C#成员变量初始化;最佳实践?

在声明时初始化类成员变量是否更好

还是在默认构造函数中?

这仅仅是风格问题还是存在性能权衡,一种或另一种方式?

0 投票
15 回答
550604 浏览

c++ - 我可以从 C++ 中的另一个构造函数(做构造函数链接)调用构造函数吗?

作为一名C#开发人员,我习惯于通过构造函数运行:

有没有办法在 C++ 中做到这一点?

我尝试调用类名并使用“this”关键字,但都失败了。

0 投票
3 回答
539 浏览

constructor - DDD + 公共无参数构造函数——它们应该存在吗?

DDD 的租户之一是不允许您的对象进入无效状态。对我来说,这意味着不应该有一个公共的无参数构造函数,因为这将是一个 99% 的时间处于无效状态的对象。

这是前进的好方法吗?当您只想快速更新课程时,它会变成一个巨大的 PITA。

0 投票
7 回答
12919 浏览

c++ - 您可以在 C++ 中显式调用实例化对象的类构造函数吗?

创建类的实例后,我们可以显式调用构造函数吗?例如

我们可以这样做吗?