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

java - java枚举构造函数中是否允许使用可变参数?

这有什么问题吗?有什么理由不这样做?

0 投票
6 回答
3816 浏览

c++ - 如何将方法结果作为参数传递给 C++ 中的基类构造函数?

我试图实现这样的目标:

现在,这不能按我的意愿工作,因为在初始化 foo 之前在 Derived 构造函数中调用了 bar() 。

我考虑添加一个类似于 bar() 的静态函数,它以 foo 作为参数 - 并在初始化列表中使用它,但我想我会问是否有任何其他技术可以用来从这个中挖掘自己。 ..

编辑:感谢您的反馈 - 这是我将如何处理静态函数。不确定静态和非静态函数之间的重载是否太聪明了,但是......

0 投票
2 回答
1586 浏览

asp.net-mvc - asp.net mvc - 静态构造函数

我想问一些关于asp.net mvc的问题

  1. 静态构造函数会初始化每个用户请求吗?
  2. 每个用户都共享静态数据吗?
0 投票
6 回答
44452 浏览

wcf - WCF 服务可以有构造函数吗?

当我在我的解决方案中新建一个 WCF 服务时,我可以执行以下操作,有一个带参数的构造函数要传入吗?如果是,运行时如何、何时以及在何处填充我所需的 IBusinessLogic 对象?

0 投票
4 回答
7986 浏览

javascript - 函数的正确原型链

以下程序的正确输出是什么(根据 ECMA 标准是正确的)?

Chrome 和 IE6 一致表示:

然后崩溃。

Mozilla 输出:

这些都是正确的吗?似乎 Mozilla 做得更好,但最好的输出是

0 投票
6 回答
3139 浏览

c# - 重载构造函数和重用代码

假设我有一个Customer具有几个属性 ( ID, FirstName, LastName) 的对象。我有默认构造函数Customer(),但我也有一个Customer(DataRow dr),因为我从数据库加载这个对象,这是一种简单的方法。

我经常遇到想要设置另一个构造函数的情况,Customer(int ID)有时我想加载 aCustomer但我还没有访问数据库。对我来说最简单的方法似乎是这样的:

重用已经存在于 DataRow 构造函数中的代码是有意义的,但是我想不出一种方法来调用它并返回它给我的东西。通过谷歌搜索,我找到了有关使用: this()语法重载构造函数的信息,但所有这些示例似乎都与我正在尝试做的事情背道而驰或不兼容。

所以我对构造函数的理解存在差距,但我似乎无法理清。我错过了什么?

0 投票
2 回答
4439 浏览

delphi - 泛型:什么是“构造约束”?

我制作了一个自定义 TObjectList 后代,旨在保存基对象类的子类。它看起来像这样:

我希望每个新列表都以其中的一个空白对象开始。这很简单,对吧?但是编译器不喜欢它。它说:

“无法在类型参数声明中创建没有 CONSTRUCTOR 约束的新实例”我只能假设这是与泛型相关的东西。任何人都知道发生了什么以及如何使这个构造函数工作?

0 投票
2 回答
4024 浏览

c++ - C++ 类 - 派生类中的构造函数声明

Socket 有一个构造函数,它接受一个 winsock SOCKET 作为参数并将其存储在一个私有变量中:

我正在尝试创建一个类“GameSocket”,它将解析来自我的 Socket 类的数据:

在这些类旁边,我有一个“服务器”类,可以在需要时创建新的套接字:

但是,这给了我最后一个“else”的错误:

在处理派生类时,我必须在构造函数中遗漏一些东西......

不要对我太苛刻,我对 C++ 和 OOP 还比较陌生

0 投票
3 回答
10449 浏览

c++ - 关于 C++ 中自定义对象的构造函数/析构函数和 new/delete 运算符

假设我有一个我自己创建的链接列表。它有自己的析构函数,可以释放内存。此链接列表不会重载 new 或 delete。

现在,我正在尝试创建一个所述链接列表的数组(如果我理解正确,则打开散列)。然后我在这个开放散列类的构造函数中分配必要的内存。在构造函数中调用的 new 运算符足以正确地为数组分配内存,对吧?我不确定,因为我没有为 Linked List 类重载 new 。

另外,假设我的链接列表数组被称为元素,我可以在析构函数中写“删除 [] 元素”吗?这会为数组中的每个元素调用析构函数并正确释放内存吗?

最后,如果我的两个假设都是正确的(即,我不必重载 new 和 delete 就可以将它们与我的自定义类一起使用),那么重载这些运算符有什么意义呢?

0 投票
4 回答
307 浏览

c# - 使用配置类或参数实例化对象

我遇到了与同事的设计分歧,并希望人们对对象构造函数设计提出意见。简而言之,您更喜欢哪种对象构造方法,为什么?

或者

背后的故事是,我遇到了一个似乎与今天构建对象完全不同的观点。目前,对象是使用 Application 类构建的,该类包含应用程序的所有当前设置(事件日志目标、数据库字符串等),因此每个对象的构造函数如下所示:

许多类单独持有对这个 Application 类的引用。在每个类中,根据需要引用应用程序的值。例如

最初我认为你可以使用这两种方法。问题是,在调用堆栈的底部,您调用参数化构造函数,然后在堆栈的较高位置,当新对象期望对应用程序对象的引用时,我们遇到了很多空引用错误并看到了设计缺陷。

我对使用应用程序对象设置每个类的感觉是,它打破了对每个对象的封装,并允许应用程序类成为一个保存所有信息的神类。在考虑这种方法的缺点时,我遇到了问题。

我想更改对象构造函数以仅接受它需要的参数,以便public object(Application)更改为public object(classmember1, classmember2 etc...). 我目前觉得这使它更可测试,隔离更改,并且不会混淆要传递的必要参数。

目前,另一位程序员没有看到差异,我很难找到示例或更改设计的充分理由,并说这是我的直觉,只是违背了我知道的 OO 原则,我知道这不是一个令人信服的论点。我的设计思想偏离了基础吗?有没有人有任何观点可以支持其中一个?