68 C#教程-面向对象的封装性

Player p1 = new Player(2000, "张三", 20, 2, 100);
Player p2 = new Player(2001, "李四", 50, 1, 100);
Console.WriteLine(p1.atk);
p1.showInfos();
p2.showInfos();
p1.minusHp(p2.atk);
public class Player
{
public int id;
public string name;
public int atk;
public int def;
public int hp;
public Player(int id,string name,int atk,int def,int hp)
{
}
public void minusHp(int atk)
{
int dmg = atk - def;
hp=hp-dmg;
Console.WriteLine(hp);
}
public void showInfos()
{
string info = "";
info = info + "名字:" + name + "\n";
info = info + "id:" + id + "\n";
info = info + "攻击力:" + atk + "\n";
info = info + "防御力:" + def + "\n";
info = info + "血量:" + hp + "\n";
Console.WriteLine(info);
}
}
但实际打印出来的全部是0.这是为啥。。