虚方法实现多态
class Program
{static void Main(string[] args)
{
ShaGou jilei = new ShaGou();
GouZaizi zilei = new GouZaizi();
ShaGou[] goulei = { jilei,zilei};
foreach (var item in goulei)
{
item.gou();
}
Console.ReadKey();
}
}
class ShaGou
{
public virtual void gou()//父类的方法要写Virtual
{
Console.WriteLine("基类:ShaGou!");
}
}
class GouZaizi:ShaGou //Gouzaizi继承自狗仔
{
public override void gou()重写方法的时候方法的命名要和父类一样,都要叫gou
{
Console.WriteLine("狗崽子:gouzaizi");
}
}
抽象类实现多态
接口实现多态