c#关于类的继承

 public class D
    {

        public virtual void Run(string name)
        {
            Console.WriteLine(name + ",good");
        }

        public void play(D d)
        {
            d.Run("mike");
            Run("jack");
        }
    }

    public class D1 : D
    {

        public override void Run(string name)
        {
            Console.WriteLine("I'm " + name + ",good");
        }
    }

调用

            D d = new D();
            D1 d1 = new D1();

            d1.play(d);

结果

分析

父类D的调用方法

d.Run("mike");
Run("jack");

有什么区别啊?求解释。为啥 Run("jack")的调用方法会被重写。

原文地址:https://www.cnblogs.com/haomo/p/3142571.html