VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之私有属性是不是不应该有?

  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; }
    }

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


相关教程