关于ENCAPSULATION的概念

时间:2013-10-10 07:25:45

标签: c# oop encapsulation

我对封装非常困惑。我目前的封装概念是它仅用于数据隐藏。

我的代码:

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现在被封装了。那么,封装在这里做的是通过 使用私有访问修饰符,我可以隐藏这个变量;和 通过使用公共属性,我可以在没有的情况下初始化此变量 使用类变量。

这是封装的全部意义吗?如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:4)

这不仅仅是信息隐藏

封装表示将一组相关的属性,方法和其他成员视为单个单元或对象。

根据封装原则,类或结构可以指定每个成员在类或结构之外编码的可访问性。可以隐藏不打算从类或程序集外部使用的方法和变量,以限制编码错误或恶意攻击的可能性。