从语法上说,字段可以理解为类中的变量,可以是私有的,也可以是public,属性一般是公共的,不过只能进行读写,或者其中一项。从这种意义上说,外界对属性的权限大于私有字段,小于公有字段。一般属性是对一些私有字段进行读写。
从含义上来讲,字段和类的关系不像属性和类的关系那么明朗,属性就是类的属性,比如''人"这个类,身高,体重,姓名这些都是属性,但是类中可能用一些其他的符号,int i,乱七八糟的一些变量,这些没必要输出的,都可以定义为字段。
public class A
{
private int num;//私有字段
public A(int x)
{ num = x; }
public int Num//属性
{
get
{ return num;}
set
{
if (num != value )
{ num = value; }
}
}
}
使用的时候,比如
A a = new A(10);
textBox1.Text = a.Num.ToString();
a.Num = a.Num + 1;
textBox1.Text += a.Num.ToString();
在这里运行顺序先是实例化,然后构造函数,第一个a.Num调用get,下一行重新赋值的调用顺序是:get,set,,最后一行,调用get,