我有一系列对象,我们称它们为建筑物,每个对象都共享某些对该建筑物而言是静态的属性,但对于每个建筑物而言却不同,例如价格。我认为实现这一点的最佳方法是创建一个具有共享价格属性的抽象超类并在每个子类中设置值,但我不知道如何让它工作。这是我尝试过的一个例子:
using System;
public abstract class Buildings
{
internal static int price;
internal static int turnsToMake;
}
using System;
public class Walls : Buildings
{
public Walls()
{
price = 200;
turnsToMake = 5;
}
}
这适用于建筑,但如果我想在创建价格之前检查价格(检查玩家是否有足够的钱),那么它只会返回一个空值。我确信这是一个超级简单的修复,但我无法弄清楚。有什么帮助吗?