const常量是隐式常量,为同一个类的全部对象所共有,如PI只有属于Circle类的对象,常量PI的值都是一样的:3.1415926.
有时我们需要另外一种常量,它在类的某一个具体对象时是不变的,但在不同的对象中有不同的值,如一座酒店的房间总数是固定的,但在不同酒店中,每一个酒店的房间总数是不一样的,这时,如果要创建酒店这个类用来统计房间总数时,就用readonly来定义totalNumber常量就很合适。[C#] 纯文本查看 复制代码 //定义Hotel类
class Hotel
{
public readonly int totalNumber; //房间总数
public int guestNumber = 0; //已入住的房间数目
//构造函数
public Hotel(int totalValue)
{
totalNumber = totalValue;
}
//函数:判断旅店是否已满
private bool IsFull()
{
if (guestNumber >= totalNumber)
return true;
else
return false;
}
//函数:入住一个旅客
public void LodgeIn()
{
if (IsFull())
Console.WriteLine("对不起,房间已满!");
else
{
guestNumber++;
Console.WriteLine("入住成功!");
}
}
} 下面我们在主函数中创建并使用Hotel类的对象:[C#] 纯文本查看 复制代码 static void Main(string[] args)
{
Console.WriteLine("======太阳酒店=====");
Hotel sunHotel = new Hotel(5);
//入住两人
for (int i = 1; i <= 2; i++)
{
sunHotel.LodgeIn();
}
Console.WriteLine("房间总数:{0}",sunHotel.totalNumber);
Console.WriteLine("入住总数:{0}",sunHotel.guestNumber);
Console.WriteLine("=====月亮酒店=====");
Hotel moonHotel = new Hotel(3);
//入住4人
for (int i = 1; i <= 4; i++)
{
moonHotel.LodgeIn();
}
Console.WriteLine("房间总数:{0}",moonHotel.totalNumber);
Console.WriteLine("入住旅客:{0}",moonHotel .guestNumber);
}
运行 结果如下:
|