1

カプセル化について非常に混乱しています。私の現在のカプセル化の概念は、データの隠蔽にのみ使用されるというものです。

私のコード:

class Program
    {
        static void Main(string[] args)
        {
            Shape a;
            a= new Shape();
            a.Area = 4;
            Console.WriteLine(a.Area);
        }
    }

    class Shape
    {
        private int _area = 0;
        private int _parameter = 0;
        public int Area { get; set; }
        public int Parameter { get; set; }

    }

私が理解していることから、プライベート int 変数_areaはカプセル化されました。したがって、ここでカプセル化が行っているのは、private アクセス修飾子を使用することです。この変数を非表示にできます。パブリック プロパティを使用することで、クラス変数を使用せずにこの変数を初期化できます。

これがカプセル化のすべてですか?間違っている場合は修正してください。

4

1 に答える 1

4

情報隠蔽だけじゃない

カプセル化とは、関連するプロパティ、メソッド、およびその他のメンバーのグループが単一のユニットまたはオブジェクトとして扱われることを意味します。

カプセル化の原則に従って、クラスまたは構造体は、クラスまたは構造体の外部でコードを作成するために、その各メンバーにどの程度アクセスできるかを指定できます。クラスまたはアセンブリの外部から使用することを意図していないメソッドと変数を非表示にして、コーディング エラーや悪意のあるエクスプロイトの可能性を制限できます。

于 2013-10-10T07:29:59.457 に答える