如果签名相同的方法在基类和派生类中都进行了声明,但是该方法没有分别声明为virtual和override,派生类就会隐藏基类方法。(要使用new关键字进行声明)
namespace ConsoleApp7
{
class Enemy
{
public void Move()
{
Console.WriteLine("这是调用的Enemy.Move()");
}
}
class Boss:Enemy
{
new public void Move()
{
Console.WriteLine("这是调用的Boss.Move()");
}
}
class Program
{
static void Main(string[] args)
{
Enemy enemy = new Enemy();
enemy.Move();
Boss boss = new Boss();
boss.Move();
Enemy boss1 = new Boss();
boss1.Move();
Console.ReadKey();
}
}
}