私有属性是不是不应该有?
程序员文章站
2022-04-07 10:08:53
把字段的访问修饰符设置成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; } }
这样的私有属性,是不是不应该有?
下一篇: 微信朋友圈卖东西靠谱吗?
推荐阅读