9.4 类的成员
从级别来分,类的成员包括静态成员和实例成员。静态成员是类级别,不属于类的实例,而实例成员则属于类的实例(对象)。
从功能来分,类的成员包括字段、属性、方法、索引器、构造函数等,其中字段属于数据成员,方法属于函数成员。
表9-1是类所能包含的各种成员。
9.4.1 字段
字段用于存储类所需要的数据。例如,一个类(汽车)可能有三个字段:速度、方向、行驶里程数(当然还可能有很多其他属性,我们此处只是举例说明,尽量将它简化而已)。如图9-3所示。
图 9-3 汽车类
声明一个字段时,只需要说明如下3个要素即可:
❑访问级别
❑字段的类型
❑字段名称
下面我们提供一个示例供读者参考,如代码清单9-4所示。
代码清单9-4 字段
class Car
{
public double speed;
protected string direction;
private double distance;
}
可以使用点运算符访问对象中的字段,如下:
对象[1]名.字段名
现在,我们通过代码清单9-5进行示例说明。
代码清单9-5 为字段赋值
class ClassExample
{
public static void Main()
{
Car car=new Car();
//为字段赋值
car.speed=10f;
//获取字段的值
Console.WriteLine(“汽车的速度为:{0}”,car.speed);
}
}
读者可能已经注意到了,Car类有三个字段:speed、direction、distance,这里仅仅对speed进行了赋值和读取操作,那么能否也对另外两个字段进行同样的操作呢?读者可以自行试验,答案是否定的。原因如下:
❑direction字段的访问级别为protected,属于保护级别,只有使用该类作为基类的派生类型才能访问;
❑distance字段的访问级别为private,属于私有级别,只有声明它的类或结构才能访问。
关于访问级别的更多内容,请参考9.9节。
注意,这里讲的字段均为实例字段,和实例字段相对的是静态字段,如下面内容所述。
[1]对象,不做特别说明均指类的实例,下同。