如果您有一个获取并设置为实例变量的Property,那么通常您总是使用该类外部的Property来访问它.
我的问题是你是否也应该在课堂上这样做?我总是使用该属性,如果有一个,即使在课堂上,但是想听到一些论据支持和反对哪个是最正确的,为什么.
或者只是在项目中使用的编码标准问题?
通过属性访问本地(类范围)变量的一个更强大的参数是在类中添加抽象级别.如果您更改了有关该字段存储方式的任何逻辑,那么其余代码将不受影响.
例如,您可以将其从局部变量更改为子对象的属性,数据库调用,Web服务调用,类上的静态属性等.进行更改时,它会为您提供单点更改,属性,并且您不必更新其余的类,因为它们都使用该属性.
此外,使用该属性还可以对属性值应用业务规则,而不必在您直接访问该字段的每个位置强制执行相同的规则.再次,封装
随着自动属性的引入,显式拥有局部变量的理由更少,除非您需要在get/set上应用业务规则
这取决于您是否要应用属性设置器中实现的任何逻辑,因此您必须根据具体情况决定.
当您直接进入私人领域时,您知道该字段正在设置为您所说的内容.
当您浏览属性时,将根据setter逻辑设置值,因此您可以获得所需的任何业务规则或验证,而不是分配给该字段的值.
很难想出一个关于什么时候做"正确"的规则,关于我所说的唯一一个规则是在构造函数初始化中我几乎从不使用该属性.