C#类的多态

    虚方法实现多态

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");
        }

    }

抽象类实现多态


接口实现多态

猜你喜欢

转载自blog.csdn.net/abaqus3_0/article/details/80072380