Tag: 构造函数

将JavaScript对象序列化为JSONstring

我有这个JavaScript原型: Utils.MyClass1 = function(id, member) { this.id = id; this.member = member; } 我创build一个新的对象: var myobject = new MyClass1("5678999", "text"); 如果我做: console.log(JSON.stringify(myobject)); 结果是: {"id":"5678999", "member":"text"} 但我需要的types的对象包括在JSONstring,如下所示: "MyClass1": { "id":"5678999", "member":"text"} 有一个快速的方式使用任何框架或东西? 或者我需要在类中实现toJson()方法并手动执行。 谢谢!

build设者总是要公开吗?

我的第一个问题是 – class Explain() { public Explain() { } } 应该构造函数总是宣布为公共? 如果我创build一个private构造函数呢? 我总是看到build设者是隐含public 。 那么为什么private构造函数是有用的? 或者根本没有用处 因为没有人能够调用它,或者从来没有一个对象(因为private构造函数)! 这是我的第二个问题。

在构造函数中做了很多坏事?

使所有的领域final是一个好主意,但有时我发现自己在构造函数中做所有事情。 最近我结束了一个实际上在构造函数中做所有事情的类,包括读取属性文件和访问数据库。 一方面,这是类是什么,它封装的数据读取,我喜欢创build对象完全初始化。 构造函数并不复杂,因为它代表了大部分的工作,所以看起来很好。 另一方面,这感觉有点奇怪。 而且,在17:58左右的讲话中 ,有很多理由不在施工方面做很多工作。 我想我可以通过传递适当的假设作为构造函数参数来消除这个问题。 问题依然存在:在构造函数中做了很多工作(甚至是所有的工作)都不好?

什么设置代码应该在窗体构造与窗体加载事件?

对于winforms应用程序,我想知道什么设置代码应该在: MainForm的() 而不是 MainForm_Load(对象发件人,EventArgs e) 这里有没有最佳实践指导方针?

超types构造函数被调用之前不能引用“X”,其中x是最后一个variables

考虑下面的Java类声明: public class Test { private final int defaultValue = 10; private int var; public Test() { this(defaultValue); // <– Compiler error: cannot reference defaultValue before supertype constructor has been called. } public Test(int i) { var = i; } } 编译器不会编译,抱怨上面突出显示的那一行。 为什么这个错误发生,什么是最好的解决方法?

Kotlin二级构造函数

如何在Kotlin中声明次级构造函数? 有没有关于这个的文件? 以下不编译… class C(a : Int) { // Secondary constructor this(s : String) : this(s.length) { … } }

PHP构造函数返回一个NULL

我有这个代码。 User对象构造函数有可能以某种方式失败,这样$this->LoggedUser被分配了一个NULL值,并且在构造函数返回后该对象被释放了吗? $this->LoggedUser = NULL; if ($_SESSION['verbiste_user'] != false) $this->LoggedUser = new User($_SESSION['verbiste_user']);

为什么Java没有像C ++那样的初始化列表?

在C ++中,可以使用初始化程序列表在构造函数开始运行之前初始化类的字段。 例如: Foo::Foo(string s, double d, int n) : name(s), weight(d), age(n) { // Empty; already handled! } 我很好奇为什么Java没有类似的function。 根据核心Java:第1卷 : C ++使用这个特殊的语法来调用字段构造函数。 在Java中,不需要它,因为对象没有子对象,只有指向其他对象的指针。 这是我的问题: 他们是什么意思,“因为物体没有子物体?” 我不明白一个子对象是什么(我试图查找它); 它们是指一个扩展超类的子类的实例吗? 至于为什么Java没有像C ++这样的初始化器列表,我会假定原因是因为所有的字段在Java中已经被默认初始化了,而且因为Java使用super关键字来调用super(或者C ++术语中的base)-class构造函数。 它是否正确?

Javascript“不是构造函数”exception,同时创build对象

我正在定义一个像这样的对象: function Project(Attributes, ProjectWidth, ProjectHeight) { this.ProjectHeight = ProjectHeight; this.ProjectWidth = ProjectWidth; this.ProjectScale = this.GetProjectScale(); this.Attributes = Attributes; this.currentLayout = ''; this.CreateLayoutArray = function() {….} } 然后我尝试创build和实例如下所示: var newProj = new Project(a,b,c); 但是这个执行被抛出: Project is not a constructor 什么可能是错的? 我search了很多,但仍然无法弄清楚我做错了什么。

构造函数可以在c ++中调用另一个构造函数吗?

class A{ A(int a = 5){ DoSomething(); A(); } A(){…} } 第一个构造函数可以调用第二个吗?