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

.net - 你接受接口作为构造函数参数吗?

Krzysztof 的建议是否适用于构造函数?如果是这样,您如何正确实施它?

我们建议对输出和属性使用 Collection、ReadOnlyCollection 或 KeyedCollection,对输入使用接口 IEnumerable、ICollection、IList。

例如,

0 投票
5 回答
31229 浏览

c# - 通用 C# 复制构造函数

为我的 c# 类编写通用复制构造函数的最佳方法是什么?它们都继承自抽象基类,因此我可以使用反射来映射属性,但我想知道是否有更好的方法?

0 投票
4 回答
17765 浏览

c++ - 从构造函数中将“this”传递给函数?

我可以从类构造函数中将“this”作为指针传递给函数,并在构造函数返回之前使用它指向对象的成员吗?

只要在函数调用之前正确初始化访问的成员,这样做是否安全?

举个例子:

p>

我以为这行不通,但似乎行得通。这是标准行为,还是只是未定义的行为按照我的方式进行?

0 投票
9 回答
17620 浏览

java - 在基类构造函数中调用虚方法

我知道从基类构造函数调用虚拟方法可能很危险,因为子类可能不处于有效状态。(至少在 C# 中)

我的问题是,如果虚拟方法是初始化对象状态的方法呢?这是一种好的做法还是应该是一个两步过程,首先创建对象然后加载状态?

第一个选项:(使用构造函数初始化状态)

第二种选择:(使用两步过程)

在第一种方法中,代码的使用者可以使用一条语句创建和初始化对象:

在第二种方法中,消费者必须创建对象然后加载状态:

0 投票
5 回答
8407 浏览

c# - 如何使这个类通用?(.NET C#)

我的班级有以下核心:

我不希望它硬编码“SqlConnection”。所以我想把它变成一个通用类(接受 IDbConnection 类)。但我不知道该怎么做。任何人都可以帮忙吗?

0 投票
6 回答
1483 浏览

c++ - *你*使用 C++ ABC 构造函数做什么?

这里的人们在该领域使用 C++ 抽象基类构造函数做什么?我说的是没有数据成员和非纯虚拟成员的纯接口类。

任何人都可以演示任何以有用的方式使用 ABC 构造函数的习语吗?或者仅仅是使用 ABC 实现接口的本质,它们保持为空、内联和受保护?

0 投票
15 回答
243611 浏览

php - __construct 函数是做什么用的?

我在__construct课堂上注意到了很多。我做了一些阅读和网上冲浪,但找不到我能理解的解释。我只是从 OOP 开始。

我想知道是否有人可以让我大致了解它是什么,然后举一个简单的例子来说明它是如何与 PHP 一起使用的?

0 投票
1 回答
10424 浏览

c++ - 内置类型的析构函数(int、char 等)

在 C++ 中,以下代码给出了编译器错误:

这段代码几乎相同,我只是将 int 类型定义为另一种类型,然后发生了一些神奇的事情:

为什么第二个代码有效?一个 int 是否仅仅因为它已被类型定义而得到一个析构函数?

如果您想知道为什么有人愿意这样做:这来自重构 C++ 代码。我们正在删除标准堆并用自制池替换它。这需要我们调用placement-new 和析构函数。我知道为原始类型调用析构函数是没有用的,但是我们仍然希望在代码中使用它们,以防我们以后用真正的类替换 POD。

发现裸 int 不起作用但 typedefed 起作用是相当令人惊讶的。

顺便说一句 - 我有一个涉及模板功能的解决方案。我们只是在模板中键入定义,一切都很好。

0 投票
5 回答
4054 浏览

c++ - C++ 类默认构造函数

早些时候我问为什么这被认为是不好的:

现在,我知道它正在创建一个函数原型,而不是返回一个示例类型。我仍然不明白为什么它会在 g++ 和 MS VC++ 中工作。

我的下一个问题是使用上述方法,这个调用有效吗?

? 那和简单地调用 Example e() 有什么区别???就像我知道它是一个函数原型一样,但似乎有些编译器会原谅它并允许它调用默认构造函数?我也试过这个:

所以我有点困惑:(对不起,如果这被问了一百万次。

0 投票
4 回答
5935 浏览

java - 在java中,如何创建一个具有私有构造函数的类,其超类也有一个私有构造函数?

举个例子:

那是一个编译错误。一个类至少需要隐式调用其超类的默认构造函数,在这种情况下,它在Foo中不可见。

我可以从Bar调用Object的构造函数吗?