黑马程序员技术交流社区

标题: 关于属性 [打印本页]

作者: 韩俊    时间: 2012-11-30 20:08
标题: 关于属性
什么情况下属性需要封装


作者: Jam    时间: 2012-11-30 20:12
有字段就必须封装成属性,这是传统规定,不管在哪学的C#老师应该都会这样说
作者: 黑马_黄开潮    时间: 2012-11-30 20:48
更加方便简单吧,比如在set里可以直接用if……else判断,值是否合法。
作者: 李青    时间: 2012-12-1 11:26
保护私有字段的情况下吧
作者: 生活墨墨    时间: 2012-12-4 16:55
多个方法都要调用该属性时可以封装,三层和两层也需要封装
作者: 985127948    时间: 2012-12-5 01:33
简单来说就是在set里可以用if……else判断,值是否合法。
作者: 刘亚龙    时间: 2012-12-6 14:15
在get访问器和set访问器中我们可以写一些预处理的代码,例如我们定义了Circle类:
class Circle
    {
        private const float pi = 3.14;
        private float r;
        //周长的属性
        public float L
        {
            get
            {
                //将计算后的结果返回
                return 2 * pi * r;
            }
        }
       //半径的属性
        public float R
        {
            set
            {
                //先判断要赋的值是否合法
                if (value < 0)
                    r = 0;
                else
                    r = value;
            }
        }
    }
这样我们需要周长时,可以直接返回计算出的周长。要给半径赋值时,可以先对值进行判断,合法了才赋值。通过使用属性可以增强类的安全性和灵活性。
作者: 邓艳秋    时间: 2012-12-6 22:52
我不明白LZ的意思。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2