关于C#类的字段
①C#中的字段是指在类体中直接定义的各个变量。这一点与C++不同,因为C++中类体中定义的变量都称为属性。
②C#中的字段如果不进行初始化那么都会生成一个默认值。对于数值型字段默认值为0,对于布尔型字段默认值为false,对于引用类型的字段类型为null。
关于C#中的属性
①C#中的属性也用于表示类的状态信息,和字段的区别在于定义方式不同。
②属性的定义方法如下:(这里的get和set等不是C#的关键字,但是在属性的表示中具有特殊的用途,被称为上下文关键字)
修饰符 属性类型 属性名
{
get{...}
set{...}
}
如果只是进行简单复制,那么也可以使用语法糖进行简写:
修饰符 属性类型 属性名{get;set;}
③没有get方法的属性是只写属性;没有set方法的属性是只读属性。对属性的访问其实就是调用了get方法和set方法。
属性和字段的比较
①属性可以定义为只读或只写,但是字段不行;
②属性的set方法和get方法本质上是方法,因此具有一些方法的优点;属性的实现实际上是方法。
③一般修饰符为private的变量作为字段,修饰符为public的字段作为属性。
④属性名的首字母一般大写,而字段名的首字母一般小写。