目前我正在考虑 C# 中的数据封装,我有点困惑。几年前,当我开始学习用 C++ 编程时,我的教授告诉我:-“创建一个类并隐藏它的数据成员,因此不能直接从外部对其进行操作”
示例:您正在解析一个 XML 文件并将解析后的数据存储到解析器类中的一些数据成员中。
现在,当我在看 C# 时。你有那里的属性。此功能使类的内部状态/内部数据对外部可见。不再有封装。对?
private string _mystring;
public string MyString
{
get {return _mystring;}
set {_mystring = value;}
}
从我的角度来看,将数据成员设为公共或拥有公共属性之间没有区别,公共属性具有 getter 和 setter,您可以在其中传递私有数据成员。
有人可以解释一下吗?
谢谢