有志者、事竟成,破釜沉舟,百百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴。

拂晓犬吠

学习中遇到困难是很正常的事情,不要苦恼,不要气馁,恰恰相反,应该兴奋,因为又学到知识了,需要不断提高自己应对问题和解决问题的能力和信心。

第六章类(五)属性1属性声明

  只记录回忆点

  使用private关键字封装密码,禁止从类的内部访问。但这种形式的封装通常过于严格。

  所以,传统方式是将字段标记为私有,再提供取值和赋值方法来访问和修改数据。

  不过,这样的传统方式是,会影响Employee类的可编程性。导致只能调用方法来访问数据。

  于是,就有了属性。考虑到经常会用到这种编程模式,C#的设计者决定为它提供显式的语法支持。

  属性的关键在于,它提供来从编程角度看,类似与字段的API。属性的实现由两个可选的部分构成。

  其中,get标志属性的取值方法,set标志属性的赋值方法。

  属性的定义使用来三个上下文关键字。其中,get和set关键字分别标识属性的取值部分和赋值部分。此外,赋值方法可用value关键字 引用赋值操作的右侧部分。所以,当Program.Main()调用employee.FirstName = "Inigo"时,赋值方法中的value被设为"Inigo",该值可以赋给_FirstName字段。

  从C#7.0起可用表达式主体方法声明属性的取值和赋值方法。

posted @ 2019-12-03 17:17  ID拂晓犬吠  阅读(140)  评论(0)    收藏  举报