问题标签 [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.
c++ - 继承构造函数
为什么这段代码:
导致这些错误:
B不应该继承A的构造函数吗?
(这是使用 gcc)
c++ - 防止创建成员函数都是静态的类
我的 ClassA 类中的所有成员变量和成员函数都是静态的。
如果用户尝试(错误地)创建该类的对象,他会收到警告:“ClassA,从未引用局部变量”,因为所有函数都是静态的,因此永远不会引用该对象。因此,我想阻止用户尝试创建此类的对象。
创建一个私有默认(无变量)构造函数就足够了吗?或者我是否还必须创建私有复制构造函数和私有赋值运算符(以防止使用默认构造函数)?如果我也必须创建它们,也许只创建一些虚拟的纯虚函数会更好,这会阻止用户创建对象?
谢谢
c++ - 为什么 const 成员必须在构造函数初始化器中而不是在其主体中初始化?
为什么声明为的类成员必须const
在构造函数初始化器列表中而不是在构造函数体中进行初始化?
两者有什么区别?
c# - 对构造函数进行单元测试重要吗?
我应该对构造函数进行单元测试吗?假设我有一个这样的构造函数:
我需要为此构造函数编写单元测试吗?我没有任何包装变量的吸气剂,所以我不需要测试它。
delphi - 我需要在派生类的构造函数声明之后放置重载或覆盖词吗?
我有一个类层次结构,这个:
如您所见,派生类和基类构造函数都具有相同的参数列表。我从派生的一个显式调用基类构造函数:
Delphi中是否需要显式调用基类构造函数?可能我需要超载或覆盖以清除我打算做什么?我知道如何在 C++ 中做到这一点——只有当你想向它传递一些参数时,你才需要显式调用基类构造函数——但我在 Delphi 编程方面没有太多经验。
java - 访问匿名类的构造函数
假设我有一个具体的 Class1 类,我正在用它创建一个匿名类。
现在有什么办法可以重载这个匿名类的构造函数。如下图所示
用 xxxxxxxx 处的东西来命名构造函数?
c# - 为什么 c# 编译器在使用带有 new() 约束的泛型类型调用 new 时会发出 Activator.CreateInstance?
当您有如下代码时:
C# 编译器坚持发出对 Activator.CreateInstance 的调用,这比本机构造函数慢得多。
我有以下解决方法:
但对我来说,为什么需要这种解决方法是没有意义的。
javascript - 如何检测函数是否被称为构造函数?
给定一个函数:
您可以通过两种方式调用它:
第一个返回 30,第二个返回一个对象。
如何检测函数本身内部调用函数的方式?
无论您的解决方案是什么,它都必须与以下调用一起使用:
目前所有的解决方案都认为将Z.lolol()
其称为构造函数。
javascript - Why should you not use Number as a constructor?
I entered this statement in JSLint:
And received the following message:
Do not use Number as a constructor.
Why is that? The statement is creating a number object, not a primitive value, so I don't see why using new
is a problem.
EDIT: Thanks for all the responses. They've got me thinking further, so I posted a follow-up question here.
javascript - 为什么在 JavaScript 中函数既是构造函数又是对象?
我最近对此做了很多研究,但还没有得到一个很好的可靠答案。我在某处读到,当 JavaScript 引擎遇到一个函数语句时,会创建一个新的 Function() 对象,这让我相信它可能是一个对象的子对象(从而成为一个对象)。所以我给 Douglas Crockford 发了邮件,他的回答是:
不完全是,因为函数语句不调用编译器。
但它会产生类似的结果。
此外,据我所知,您不能在函数构造函数上调用成员,除非它已被实例化为新对象。所以这不起作用:
但是,这将起作用:
这只是语义问题吗……在整个编程世界中,对象何时真正成为对象,以及如何映射到 JavaScript?