現在、C#でのデータのカプセル化について考えていますが、少し混乱しています。数年前、私がC ++でプログラミングを学び始めたとき、私の教授は私にこう言いました:-「クラスを作成し、それをデータメンバーに隠して、外部から直接操作できないようにする」
例:XMLファイルを解析し、解析されたデータをパーサークラス内のいくつかのデータメンバーに格納します。
さて、C#を見ているとき。そこにプロパティがあります。この機能により、クラスの内部状態/内部データが外部に表示されます。もうカプセル化はありません。右?
private string _mystring;
public string MyString
{
get {return _mystring;}
set {_mystring = value;}
}
私の見解では、データメンバーを公開することと、プライベートデータメンバーを通過させるゲッターとセッターを持つパブリックプロパティを持つことの間に違いはありません。
誰かが私にそれを説明してもらえますか?
ありがとう