属性之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;},否则就会报错。
我建议阅读对象从头看到尾后在阅读一遍,那么就能更好的理解了
什么是属性?
属性的概念是,它是一个方法或者是一对方法,但在客户端代码看来,它是一个字段,如窗体的长和宽。
属性访问器
get:取值,
set:赋值
注意:
1:get访问器不带任何参数,且必须返回与属性声明类型相同的类型
2:set访问器也不能指定任何显示的参数,但是,编译器会假定它有一个参数即我们常用的value,它的类型与属性的类型相同。
3,属性的get和set,必须有一个具备属性的访问级别。(这点要特别注意了)
用途:我发现大部分书上都没有显示的提出属性用在什么地方,会给初学者造成很大的困惑,所以我做下目前认知的总结
1:属性是与字段配套使用的,也就是说属性必须有相应的字段与它对应,当然返回常量和计算量的除外
解释上面的话:在C#中,我们可以非常自由的、毫无限制的访问公有字段,但在一些场合中,我们可能希望限制只能给字段赋于某个范围的值、或是要求字段只读或者只写,这时候就要用到属性了。
(其实我一直认为把这段话在书里可以着重的标出来的话就最好了)
这个概念还是比较简单的,所以就不列举代码了,另外值得注意的是
常常在代码中看到一些属性并没有显示的写出他所对应的属性,
如 public string Name{get; set;}
这时候C#会自动的为他加上所对应的私有字段,官方术语叫做
自动属性
对于自动属性,属性的写法必须是这样的public string Name{get; set;},否则就会报错。
我建议阅读对象从头看到尾后在阅读一遍,那么就能更好的理解了
相关文章推荐
- Java教程例题3.2
- Android Activity之间传递对象及对象数组
- 将表达式转换为波兰表达式
- Popover 初探
- CLR via C# 读书笔记---常量、字段、方法和参数
- 国家以及国家语言的json数据格式,提供给网友参考。
- 排序算法(一)------直接插入排序和希尔排序
- opencv 两幅图像融合
- 动态为TextView设置drawableRight
- IPA的4种打包方式
- 【Leetcode】Nim Game
- Ajax
- 几种ESB(企业服务总线)介绍
- Opencv 鼠标事件GUI
- [Leetcode]Path Sum II
- Windows 10还原为Windows 8/7
- 静态
- 【2015/10/24】C学习日志_Day 9 关键字
- 文章标题
- C++Primer笔记一