【发布时间】:2017-04-02 06:35:15
【问题描述】:
在一个类中,我们将类成员声明为私有,但我们将属性定义为公共。
例如:
public class student
{
private int StudentId;
private string StudentName;
private string Address;
}
然后我们使用方法分配。
但是如果我们使用属性来获取设置定义公共喜欢。
public class student
{
public int StudentId {get;set;};
public string StudentName{get;set;};
public string Address{get;set;};
}
这背后的原因是什么?
【问题讨论】:
-
你不要这样做因为它们是“类成员”或“属性”(顺便说一下,属性也是成员,更典型的是将它们分组静态成员和实例成员)。您通常希望封装实际的实现,因此当您访问它们时没有发生绑定逻辑的字段通常是私有的,而您可以控制写访问(谁可以写)和绑定逻辑(当您访问它们时会发生什么)的属性write) 更多时候是公开的。你想控制你的类型的公共表面,并隐藏实际的实现。
-
没有强制您将字段用作私有字段或将属性用作公共,但通常变量是私有的,用于类的内部使用,而属性用于外部使用,因为它们可以在以下情况下执行代码他们正在获取/设置。
标签: c#