[C#学习笔记10]OOP值对象属性Property各种特性和语法
属性的使用:
作用——在OOP中主要用来封装数据
要求——一般采用Pascal命名法,数据类型和字段要一致,使用public修饰
属性的定义:

读取:属性通过get方法,返回私有字段的值
赋值:属性通过set方法,借助于value给私有字段赋值
本质:属性本身,其实没有保存数据,而字段才是真正数据的存储单元

只读属性1:直接去掉set方法,可以在定义的时候初始化
public string CourseName {get;} = ".NET课程";
只读属性2:直接去掉set方法,并在get中添加业务逻辑
public string CourseInfo
{
get{return $"名称:{Name}编号:{Id}价格:{Price}";}
}
字段(成员变量)
内容使用:字段主要是为类的内部数据交换使用,字段一般是private
数据存储:字段只是用来存储数据,如果不是静态字段,生命周期和对象共存亡
读写不限:可以给字段赋值,也可以获取字段的值(常用),reaonly除外
属性(字段封装)
外部使用:属性一般是向外提供数据访问,属性是public修饰,用来对外表示对象的静态特征。
业务扩展:属性内不可以添加业务逻辑,可以避免非法数据,或完成其它相关业务。
读写可控:属性可以根据需要设置为只读属性,体现面向对象的“封装特性”,即安全性
使用
常规化使用:对象本身的“对外”数据保存,都是通过属性完成度,调用者都可以使用
强制性使用:公有化字段,在很多时候是无法被解析的。(比如:dgv,combox的显示问题)