我正在使用 C# 编写一个简单的游戏来帮助我学习基本的面向对象概念。
在下面的这段代码中:
class entity
{
int hp;
string name;
public entity()
{
hp = 1;
name = "entity";
}
public string status()
{
string result;
result=name + "#" + " HP:" + hp;
return result;
}
class dragon : entity
{
new public string name;
new int hp;
public dragon()
{
hp = 100;
name = "Dragon";
}
}
我为“龙”制作了一个对象
dragon mydragon = new dragon();
问题在于以下代码:
mydragon.status();
这将返回一个字符串,但带有实体类对象的“name”和“hp” (即 hp=1,name=entity)。
我想让它返回龙对象的值(hp=100,name=dragon)。我不确定我做错了什么,但看起来很简单。
在摆弄和挣扎了几个小时之后,我能想到的唯一解决方案就是简单地将status()方法复制并粘贴到 dragon 类。但我确信有更好的方法来做到这一点。
提前谢谢了。