【发布时间】:2019-06-14 05:39:00
【问题描述】:
这是我的界面
interface IEnemy
{
int Health { get; set; }
}
以及少数派生自它的类
public class Goblin : IEnemy
{
public int Health { get; set; }
public Goblin()
{
Health = 50;
Console.WriteLine("You encounter an Enemy Goblin!");
}
}
public class Undead : IEnemy
{
public int Health { get; set; }
public Undead()
{
Health = 100;
Console.WriteLine("You encounter an Enemy Undead!");
}
}
public class Orc : IEnemy
{
public int Health { get; set; }
public Orc()
{
Health = 150;
Console.WriteLine("You encounter an Enemy Orc!");
}
}
假设我想制作一个随机发生器来选择要生成的敌人---我制作了这样的东西
IEnemy enemy = new Goblin() or Undead() or Orc()...
一切都按预期工作,但例如,当一个对象,比如 Goblin,有一个接口没有的方法时,如果敌人是 IEnemy 类型,我该如何调用该方法?
【问题讨论】:
-
问题是:“为什么我需要在接口上调用特定于类的函数?”