今天有些东西让我思考。
我是一名初学程序员,我想知道是否有必要在构造函数中实现字段和属性。
有人可以给我一个例子:
&安培;
提前致谢
答案 0 :(得分:1)
正如其名称所暗示的构造函数的目的是“构造”正确一个对象。 正确这个词完全取决于我们的观点。例如,假设我们要声明一个代表系统中Customer
的类。
这可以通过多种方式完成:
第一种方式
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
第二种方式
public class Customer
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
public Customer(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}
以及许多其他方式......
让我们采取第一种方式。在这种情况下,您可以使用默认的无参数构造函数创建客户对象。
var customer = new Customer();
显然,在这种情况下,FirtsName
和LastName
将为空。如果需要,您必须稍后设置这些值。
另一方面,使用第二种方法,您只能创建一个客户对象,为firstName和lastName提供值。
这两种方法都是正确的,其余方法也是正确的,前提是它们符合您的要求。
var customer = new Customer("firstname","lastname");