【C#】字段与属性的区别

前言:
最开始接触属性和字段的时候,是在一本vb的书上,当时并没有深入的理解,后来接触到C#这门语言的时候,发现里边的知识真不少,好了,大家跟着小编的脚步一起来看看字段与属性的区别吧!

1、二者之间的联系

在C#中,对于一些公有字段我们可以无限制的访问,但是这样做的后果是,我们可能错误的修改了字段中的值!使得数据不准确,于是就出现了属性,属性中的get和set解决了访问字段时候出现的问题!

2、属性的优点

(1)属性可以保证数据安全
由于属性中有set和get,set负责属性的写入工作,get负责属性的读取工作!所以就出现了,只读属性、既可读又可写属性,还有只写属性!

实例:出租车
有一个Ticket类,有一个价格属性,价格的单价是随着行驶距离的增加而变化的,是有一定的比例的关系的!
如:0-100公里,票价不打折
101-200公里 总额打9.5折

此时的9.5折是私有的,就是说是我这个类定的,就是说出租车公司定的,别人是不可以进行修改的,要是修改也只能是在我自己的这个类中相对应的字段进行修改!

 int _distance;
        private double _price;
        public double Price
        {
            get
            {
                if (_distance <= 100)
                {
                    return _distance * 1.0;
                }
                else
                {
                    return _distance * 0.95;
                }

            }
        }

此时的价格的属性就是只读的!

(2)属性没有存储数据的功能

属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值