我试图建立一个创建水平通过其构造的对象一个非常基本的系统:如何将不同的变量值赋给同一对象的不同实例?
class Levels
{
// private level properties
private static string levelName { get; set; }
private static int levelSize { get; set; }
private static int levelNum { get; set; }
// new level constructor. Takes name, size (to square) and level number.
public Levels(string inName, int inSize, int inNum)
{
levelName = inName;
levelSize = inSize;
levelNum = inNum;
}
// ... GetLevel methods here...
}
,并将这些值分配给对象的每个特定实例。然而,输出表明,levelName,levelSize和levelNum变量并没有正确地“贴”在每个实例上。
class Program
{
static void Main(string[] args)
{
var Level1 = new Levels("Forest", 15, 1);
var Level2 = new Levels("Desert", 22, 2);
Console.WriteLine($"--- {Level1.GetLevelName()}, level {Level1.GetLevelNum()} ---");
Console.WriteLine($"--- {Level2.GetLevelName()}, level {Level2.GetLevelNum()} ---");
Console.ReadLine();
}
}
// output:
// --- Desert, level 2 ---
// --- Desert, level 2 ---
// why is level 1 not displaying here?
我知道,如果我是第一的WriteLine命令后,移动2级的构造会,hamfistedly,工作,但显然我需要这些值来坚持自己的实例。
您不能拥有对象的实例。对象是类*的实例*等。 – idmean
哎呀!是的,你说得对,谢谢你指出。 –