给定一个类:
public class NicePeople {
public string VNP_Name;
public int VNP_Age;
public float VNP_Score;
public NicePeople(string inName, int inAge, float inScore){
VNP_Name = inName;
VNP_Age = inAge;
VNP_Score = inScore;
}
}
然后你像这样使用它:
NicePeople nicePerson = new NicePeople("Joe", 55, 1.6f);
这和:有什么区别吗?
public class NicePeople {
public string VNP_Name {set;get;}
public int VNP_Age {set;get;}
public float VNP_Score {set;get;}
}
如果不是,构造函数是否仅适用于您想要做一些额外工作(例如检查有效值等)并且完全不需要基本内容的情况?
这里真正的问题是何时使用构造函数参数与属性。其他人已经提到了原因。这是另一张。
当没有这些值就无法创建类实例时,请使用参数化构造函数。可以使用属性来设置实例的任何可选属性。考虑一个Person
班级。任何人至少需要一个名字才能被识别。然而,年龄可以是可选信息。
public class Person {
public Person(string name) {
Name = name;
}
public string Name { get; private set; }
public int Age { get; set; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)