第12 章 域和属性
—— 为了保存类的实例的各种数据信息,C#给我们提供了两种方法:域和属性。 属性—— 实现了良好的数据封装和数据隐藏。
12.1 域
域: 表示与对象或类相关联的变量。
eg. attributes field-modifiers type variable-declarators;
field-modifiers 修饰符 可以是 new、public、protected、internal、private、static、readonly
在下面的代码中,类A 包含了三个域: 公有的x 和y,以及私有的z。
class A
{
public int x;
public string y;
private float z;
}
12.1.2 静态域和非静态域
静态域 static 修饰符,其它的域都是非静态域。分别属于C#中静态和非静态变量。
-若将一个域说明为静态的,无论建立多少个该类的实例,内存中只存在一个静态数据的拷贝。当这个类的第一个实例建立时,域被初始化。以后再进行类的实例化时,不再对其进行初始化,所有属于这个类的实例共享一个副本。
-与之相反,非静态域在类的每次实例化时,每个实例都拥有一份单独的拷贝。
程序清单12-1:
using System;
public class Count
{
static int count;
int number;
public Count()
{
count = count