在敲机房重构,但是在敲代码的过程中对属性的get和set有所疑惑,比如说,属性可不可以只读不写,可以不可以只写不读,get和set可不可以调换顺序等问题,然后我就带着一系列的问题回去去看了看C#视频关于get和set的一些视频,看了视频之后真的是拨开云雾见青天。
属性的存在是为了保护与之相对应的字段的,保证字段的读取和赋值符合要求。而且要注意的一点是允许外部访问的变量一定要生命为属性。
属性可以分为三种:读写、只读、只写
读写:既有get也有set,外部可以对内部的字段进行赋值,再通过get进行返回,再通过外部进行对结果的显示,但是在通过外部显示的时候可以显示不是外部赋予的值,也就是说get返回值的时候可以将返回的值进行修改和限制,这样最后显示出来的值就有可能不是set赋予的值了。一般情况下get读取的的值就是set设置的值,但是也可以让get读取的值不是set设置的值。
只读:只有get没有set。外部只能读值,不能将值进行修改。一旦进行修改就会报错。
只写:只有set没有get。外部只能赋值,但不能读取值。一旦进行读取也会报错。