黑马程序员-属性

    //自动属性很模糊

    class 一般属性

    {

        //字段num针对类内部而言是存在的,可访问的

        //针对外部,不允许访问的,甚至可以认为是“不存在”的

        private int num;

 

        public int Num

        {

            get

            {

                return num;

            }

            set

            {

                num = value;

            }

        }

    }

    //属性的本质(***

    //实际上作为类,首先应具备封装性,直接体现为:字段被屏蔽掉,属性来实现访问

    class 属性本质

    {

        private int num;

 

        public int Get_Num()

        {

            return num;

        }

 

        public void Set_Num(int value)

        {

            num = value;

        }

    }

    //自动属性

    //自动属性的内部就是一个:隐藏的字段,加上两个方法

    class 自动属性

    {

        public int Num

        {

            get;

            set;

        }

        //编译之后,会有下面的一个字段

        //[CompilerGenerated]

        //private int <Num>k_BackingField;

 

        //错误:

        //类型“Attribute.自动属性”已保留了一个名为“get_Num”的具有相同参数类型的成员

        //public int get_Num()

        //{

        //    return 10;

        //}

    }

posted @ 2014-04-14 14:44  己为  阅读(303)  评论(0)    收藏  举报