属性索引器异常处理.ppt

属性索引器异常处理.ppt

ID:56529917

大小:226.00 KB

页数:30页

时间:2020-06-27

属性索引器异常处理.ppt_第1页
属性索引器异常处理.ppt_第2页
属性索引器异常处理.ppt_第3页
属性索引器异常处理.ppt_第4页
属性索引器异常处理.ppt_第5页
资源描述:

《属性索引器异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五节属性、索引器、异常处理目标理解属性及其不同的类型、实现理解和使用索引器属性是类、结构和接口的成员。它们通过存取子(Accessor)提供读取、写入或计算私有(Private)字段值的弹性机制。存取子将属性存取子设定为get、set或get/set。默认情况下[存取子]选项设定为get/set。存取子选项说明get读取或计算属性并传回属性和型别值。如果选择此选项,属性便是只读的。set当对属性指派值时,会以提供新值的自变量来叫用set存取子。如果您选择了此选项,则属性是唯写的。get/set选择此选项时,属性将同时包含get和set存取子。这是一个读取写入属性。修饰

2、符属性可以加入下列修饰符之一。static、virtual和abstract修饰符是彼此互斥的。修饰符说明无没有额外的修饰符Static属性属于该类本身而非一个特定的对象。Virtual属性可以在子类中重写Abstract属性是抽象类(AbstractClass)的成员。属性简介3-1封装把一些不重要的细节隐藏起来,这样你可以集中精力处理那些重要的内容。但封装很难被掌握,一个典型的封装误用是盲目地把公有字段转为私有字段。例如在上面的例子中,程序定义了一个私有字段hour和SetHour函数和GetHour函数,而不是定义一个公有的hour字段。如果GetHour函数只是

3、返回私有字段的值而SetHour函数只是设置私有字段的值的话,那么你除了使Time类更难使用外,你不会得到任何好处。structTime{publicintGetHour(){returnhour;}publicvoidSetHour(intvalue){hour=value;}privateinthour,minute,second;}staticvoidMain(){Timelunch=newTime();lunch.SetHour(12);Console.WriteLine(lunch.GetHour());}属性简介3-1如果字段是公有的,那使用起来是简单的但如

4、果你使用公有字段的话,你会失去控制权要简化而不是简单structTime{publicintHour;publicintMinute;publicintSecond;}staticvoidMain(){Timelunch=newTime();lunch.Hour=30;lunch.Minute=12;lunch.Second=0;}解决的办法可以把get和set函数组合成一个简单的属性。属性的声明包括一个可选的访问修饰符(在例子中是public)、返回值(int)、属性的名字(Hour)和一个包含get和set语句的属性体。注意:属性没有括号,因为属性不是函数。属性的命

5、名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。structTime{...publicintHour//没有(),是H而不是h{get{...}set{...}}privateinthour,minute,second;}Timelunch=newTime();...lunch.Hour=12;...Console.WriteLine(lunch.Hour);get语句当读一个属性的时候,属性的get语句自动运行。get语句必须返回一个有确定类型的值。属性的返回值不能是void(从这里可以推断出字段的类型也不能是

6、void)。这get语句必须包含一个完整的return语句(retun;这种形式是错误的)。get语句可以在retun语句前包含任何其他的语句,但return语句不能省略。注意:get和set不是关键字,可以在任何地方包括get/set语句中声明一个局部变量、常量的名字是get或set,但最好不要这样做。必须返回一个有确定类型的值功能上就像一个“get函数”structTime{...publicintHour{get{returnhour;}...}privateinthour,minute,second;}Timelunch=newTime();...Console

7、.WriteLine(lunch.Hour);//请注意,get和set不是关键字set语句当写一个属性的时候,属性的set语句自动运行。在上面的例子中,Time结构类有一个整型属性Hour,所以赋给这个属性的值必须是一个整型值。把一个整型值12赋给了lunch的Hour属性,这个语句会自动调用属性的set语句。set语句是通过value标识符来获得属性的赋值的。例如,如果12被赋给了Hour属性,那么vaue的值就是12。注意:value不是一个关键字。value只是在set语句中才是一个标识符。你可以在set语句外的任何语句声明val

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。