在定义一个类时,需要定义类的属性。属性经常与字段连用,这里先说一下字段与属性的联系与区别。
一、字段与属性
1、关于字段:
- 字段即使指类中的成员变量,一般在类的内部作数据交互使用,其修饰符一般为private。
- 字段的命名方法:首单词首字母小写,之后的单词首字母大写
2.关于属性
- 属性在面向对象,外界访问私有字段的入口。属性本身不保存任何数据,对属性的操作实际上是对属性所对应的字段进行操作。
- 属性的命名方法:所有单词的首字母大写。
例如:以下对Book属性的定义中,id 和 name都是字段,用于类的内部数据交互,使用get,set语句定义了属性Id和Name,属性可以通过在类的实例化后进行对字段进行操作。
namespace code_1
{
class Book
{
private int id; //这个是字段
private string name; //这个是字段
public int Id //设置图书编号属性
{
get
{
return id;
}
set
{
id = value;
}
}
public string Name //设置图书名称属性(只读)
{
get
{
return name;
}
}
}
}
二、定义属性
语法
public 数据类型 属性名
{
get
{
获取属性的语句块;
return 值;
}
set
{
设置属性得到语句块;
}
}
1、get{}访问器:用于获取字段的值,需要使用return返回字段的值。在面向对象设计中,对应的是字段内容的读取。
2、set{}访问器:用于设定字段的值,需要使用一个特殊的值,这个值就是在面向对象设计中,对字段设置的值。
三、get和set的简化写法
语法
public 数据类型 属性名{get;set;}
第一小节中的示例代码可简化为
namespace code_1
{
class Book
{
private int id; //这个是字段
private string name; //这个是字段
public int Id{get; set;}
public string Name{get;}
}
}