如果我们有这样的代码:
public class Enemy
{
public int hp;
}
然后一个Enemy
对象在 32 位机器中需要 4 个字节,在 64 位机器中需要 8 个字节(如果我错了,请纠正我)。
如果我们把它改成这样:
public class Enemy
{
public int hp;
public void Attack() {}
}
一个Enemy
对象仍然会像以前一样占用相同数量的内存,对吧?
这也是一样的:
public class Enemy
{
private int hp;
public int Hp { get { return hp; } set { hp = value; } }
}
据我所知,属性是函数,但被视为变量,对吧?
所以如果我们这样做:
public class Enemy
{
public int Hp { set; get; }
}
这是否意味着,一个Enemy
对象现在根本不占用内存空间?这没有任何意义。
甚至这个,就此而言:
public class Enemy
{
public void DoSomething() { }
}
有人可以解释一下吗?