zoukankan      html  css  js  c++  java
  • 私有属性是不是不应该有?

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

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

  • 相关阅读:
    多进程
    NoSQL-memcached相关
    NoSQL-redis相关
    DB相关复习
    算法
    SQLAlchemy
    Mysql相关
    Python DB-API
    正则习题
    python的正则——re模块
  • 原文地址:https://www.cnblogs.com/catzhou/p/9018265.html
Copyright © 2011-2022 走看看