您的位置:首页 > 其它

属性之get,set

2015-10-26 23:19 211 查看
属性和属性访问器

什么是属性?

属性的概念是,它是一个方法或者是一对方法,但在客户端代码看来,它是一个字段,如窗体的长和宽。

属性访问器

get:取值,

set:赋值

注意:

1:get访问器不带任何参数,且必须返回与属性声明类型相同的类型

2:set访问器也不能指定任何显示的参数,但是,编译器会假定它有一个参数即我们常用的value,它的类型与属性的类型相同。

3,属性的get和set,必须有一个具备属性的访问级别。(这点要特别注意了)

用途:我发现大部分书上都没有显示的提出属性用在什么地方,会给初学者造成很大的困惑,所以我做下目前认知的总结

1:属性是与字段配套使用的,也就是说属性必须有相应的字段与它对应,当然返回常量和计算量的除外

解释上面的话:在C#中,我们可以非常自由的、毫无限制的访问公有字段,但在一些场合中,我们可能希望限制只能给字段赋于某个范围的值、或是要求字段只读或者只写,这时候就要用到属性了。

(其实我一直认为把这段话在书里可以着重的标出来的话就最好了)

这个概念还是比较简单的,所以就不列举代码了,另外值得注意的是

常常在代码中看到一些属性并没有显示的写出他所对应的属性,

如 public string Name{get; set;}

这时候C#会自动的为他加上所对应的私有字段,官方术语叫做

自动属性

对于自动属性,属性的写法必须是这样的public string Name{get; set;},否则就会报错。

我建议阅读对象从头看到尾后在阅读一遍,那么就能更好的理解了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: