【发布时间】:2012-11-02 15:21:11
【问题描述】:
我在设置属性时遇到问题,并意识到我只能在函数或方法中设置属性。我的问题是为什么会这样?
这是我的有效代码:
public class SomeClass
{
Car car = new Car();
public Car JustAMethod()
{
Car car = new Car();
car.year = 2012;
return car;
}
}
为什么这不起作用:
public class SomeClass
{
Car car = new Car();
car.year = 2012;//I get an error here
}
【问题讨论】:
-
这就是构造函数的用途;)
-
构造函数正在成为一种被遗忘的艺术。我有时希望对象初始化器永远不会发生。使用构造函数,您可以准确地告诉使用代码创建有效对象所需的内容。使用初始化器,客户端代码可以以任何它想要的方式 hork 对象。
-
@BobHorn 我认为构造函数和对象初始值设定项都有其有效用途。构造函数应该需要构造有效对象所需的所有信息;对象初始化器可用于提供选项信息。