当前我正在考虑在C#中进行数据封装,我有点困惑。 多年前,当我开始学习用C++编程,我的教授告诉我: - “创建一个类,并隐藏数据成员,所以不能直接从外部操纵”在C#中使用属性进行数据封装
例: 你是解析XML文件并将解析的数据存储到解析器类中的一些数据成员中。
现在,当我在看C#时。你有那里的属性。该功能使得一个类的内部状态/内部数据可见。 没有封装了。对?
private string _mystring;
public string MyString
{
get {return _mystring;}
set {_mystring = value;}
}
从我的角度来看存在使得数据成员的公共或具有公共属性,它有getter和setter,在那里你通过传递您的私人数据成员之间没有什么区别。
有人能解释我吗?
感谢
非常感谢。这清楚地表明了一些事情。 – Ferhat 2010-09-17 22:09:51