在C#类成员中生成静态

时间:2020-02-23 14:29:52  来源:igfitidea点击:

我们可以在CCLASS成员中生成静态。
类的大多数数据成员都是特定于包含对象的,而不是任何其他对象。
考虑到这一点 Car类:

public class Car
{
public string licensePlate;      //The license plate ID
}

因为许可证版ID是一个对象属性,所以它描述了类的每个对象 Car独特。
例如,配偶的汽车将从车上有不同的车牌,如下所示:

Car spouseCar = new Car();
spouseCar.licensePlate = "XYZ123";
Car yourCar = new Car();
yourCar.licensePlate = "ABC789";

但是,所有汽车份额都存在一些属性。
例如,构建的汽车数是类的属性 Car但不是任何单一对象。
这些类属性在CWITH中标记为关键字 static

public class Car
{
public static int numberOfCars; //The number of cars built
public string licensePlate;     //The license plate ID
}

静态成员未通过对象访问。
相反,我们可以通过类本身访问它们,因为此代码段演示:

//Create a new object of class Car.
Car newCar = new Car();
newCar.licensePlate = "ABC123";
//Now increment the count of cars to reflect the new one.
Car.numberOfCars++;

对象成员 newCar.licensePlate通过对象访问 newCar,和类(静态)成员 Car.numberOfCars通过类访问 Car
全部 Cars共享相同 numberOfCars成员,所以每辆车都与所有其他汽车完全相同。

类成员是静态成员。
非静态成员特定于每个"实例"(每个单独的对象),并且是实例成员。
我们在这里看到的斜体短语是引用这些类型成员的通用方式。