欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

私有属性是不是不应该有?

程序员文章站 2022-06-28 10:37:08
把字段的访问修饰符设置成public破坏了面向对象程序设计(OOP)的封装性,所以得改成 这样其他类可以通过属性Age访问字段_Age了。 当然,您还可以加上验证 还可以设置成只读,只写等。 好心的微软为了让您方便,P2还可以写成 效果一样,相当优雅,使用方便,然后就非常熟练了,然后就出现了P3的情 ......
    public class P1
    {
        public int Age;
    }

把字段的访问修饰符设置成public破坏了面向对象程序设计(OOP)的封装性,所以得改成

public class P2
    {
        int _Age; 
        public int Age
        {
            get
            {
                return _Age;
            }
            set 
            {
                _Age = value;
            }
        }
    }

这样其他类可以通过属性Age访问字段_Age了。

当然,您还可以加上验证

    public class P3
    {
        int _Age; 
        public int Age
        {
            get
            {
                return _Age;
            }
            set
            {
                if (value > 0 && value < 150)
                    _Age = value;
            }
        }
    }

还可以设置成只读,只写等。

好心的微软为了让您方便,P2还可以写成

    public class P2
    {
        public int Age { get; set; }
    }

效果一样,相当优雅,使用方便,然后就非常熟练了,然后就出现了P3的情形

    public class P3
    {
        private int Age { get; set; }
    }

这样的私有属性,是不是不应该有?