字段
字段是用于存储类和类的实例相关数据的变量,一般用于内部调用。
定义字段
public class Book
{
public string name;
}
属性
属性是代表类的实例或者类中一个数据项的函数成员,一般用于外部调用。属性可以看作是字段的包装器,能够灵活地读取、编写某个私有字段的值,并且有助于提高调用方法的安全性以及灵活性。尽可能的使用属性来暴露数据,字段则应设置为private或protected。
属性的定义:get,set
属性可分为:读写,只读,只写
定义属性
public string Name
{
get { return name; }//读
set { name = value; }//写
}
属性可以在get或set中进行条件限定,如下:
private string _name;
public string Name
{
get
{
return _name;
}//读
set
{
if (value.Length < 1 || value.Length > 4)
{
Console.WriteLine("名字长度不符合!");
}
else
{
_name = value;
}
}//写
}
……
Program p=new Program();
p.Name = "hello world";
运行结果:名字长度不符合!
将字段封装为属性可以实现以下几点:
1.对字段进行保护,类外部不能直接访问字段的内存。
2.对字段读写进行限制,只允许读或者只允许写。
3.在对字段赋值取值时做一些操作。