怎么更好的理解C#编程中的属性,set和get的用法?
1个回答
展开全部
C#的属性本质是一对方法,目的是为了控制类的字段(field)的暴露方式。例如你的类有一个name字段,如果设为public,那么任何拿到这个类实例的使用者都可以无限制地修改name,有时候这不是你想要的结果,比如某函数把name改成了null,这有可能是你不希望见到的。为了避免这个问题,你或许会把name字段设置为protected或索性private,但是这种情况下,字段不能被外部修改,却也无法读取了。
所以C#语言引用了属性,它们的一对set和get方法可以对某一字段进行分别的控制,比如你只给它get方法,那么这个字段就可以通过该属性读取,而不能写入,如果你给它private set方法,那么它可以写入,但只能在类内部的方法中进行。等等好处不一而足。
总的来说,你把属性理解成字段的“守卫”,它们为了提供字段的访问限制。
所以C#语言引用了属性,它们的一对set和get方法可以对某一字段进行分别的控制,比如你只给它get方法,那么这个字段就可以通过该属性读取,而不能写入,如果你给它private set方法,那么它可以写入,但只能在类内部的方法中进行。等等好处不一而足。
总的来说,你把属性理解成字段的“守卫”,它们为了提供字段的访问限制。
更多追问追答
追问
读入,和写入怎么理解,他们是分开用的,感觉理解起来有点麻烦
追答
建议你结合我上面说的话,好好看一下基础教材,应该会有正确的认识
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询