[英]C# inheritance and constructors and overide
我正在测试此程序的继承性,我有3类(动物,e,袋鼠)和主类。
mu和袋鼠源自动物类。
当我尝试运行出现错误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);
}
}
mu类
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);
}
}
编码中的单词覆盖意味着替换现有方法的实现,即覆盖先前的方法。
因此,在这种情况下,您要继承的类没有mamel或bird方法。
不要只是按系列主题阅读随机文章。 请参阅书籍或一些教程系列。
检查您是否可以通过C#生成CLR的 pdf版本,也可以在CheezyCode上参考我们正在进行的教程系列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.