我正在测试这个程序继承我有3个类(动物,鸸,,袋鼠) 和主要班级。
emu和袋鼠来自Animal类。当我尝试运行程序得到错误Emu.Bird()时,Kangaroo.Mamel()找不到合适的方法来覆盖。我是通过随机教程来做的,并且不确定“覆盖”以及它究竟是做什么的。
static void Main(string[] args)
{
Emu e = new Emu("Emu","Brown", "is a bird");
Console.WriteLine();
Kangaroo k = new Kangaroo("Kangaroo","Dark Brown", "Is a mamel" );
Console.ReadLine();
}
动物类
class Animal
{
public string name;
public string colour;
public Animal(string MyName,string MyColour)
{
name = MyName;
colour = MyColour;
}
public virtual void Show()
{
Console.WriteLine("Name: "+ name);
Console.WriteLine("Colour: "+ colour);
}
}
Emu Class
class Emu:Animal
{
public string bird;
public Emu(string name,string colour, string eBird) : base(MyName,MyColour)
{
bird = eBird;
}
public override void Bird()
{
base.Show();
Console.WriteLine(bird);
}
}
袋鼠班
class Kangaroo:Animal
{
public string mamel;
public Kangaroo(string name,string colour, string Mamel) : base(MyName,MyColour)
{
mamel = Mamel;
}
public override void Mamel()
{
base.Show();
Console.WriteLine("Is a bird or Mamel ? " + mamel);
}
}
答案 0 :(得分:0)
编码中的单词覆盖意味着替换现有方法的实现,即重写先前的方法。
所以在你的情况下,你继承的类没有mamel或bird方法。
不要只是通过一系列主题阅读随机文章。参考书籍或一些教程系列。
检查您是否可以通过C# pdf版 CLR 或者您也可以参考我们正在进行的教程系列CheezyCode