C# 多态

多态主要是指同一操作(如方法)作用于不同的类的实例,将产生不同的结果。

多态主要是通过在派生类中对基类中的成员进行替换或重定义完成。

class ClassF //基类
        {
            public virtual void Out()
            {
                Console.WriteLine("调用了基类中的方法!");
            }
        }
        class ClassP1 : ClassF //派生类1
        {
            public override void Out()
            {
                Console.WriteLine("调用了派生类1中的方法!");
            }
        }
        class ClassP2 : ClassF //派生类2
        {
            public override void Out()
            {
                Console.WriteLine("调用了派生类2中的方法!");
            }
        }
        static void Main(string[] args)
        {
            ClassF[] cs = new ClassF[3];
            cs[0] = new ClassF();
            cs[1] = new ClassP1();
            cs[2] = new ClassP2();
            foreach (ClassF c in cs)
            {
                c.Out(); //调用方法
            }
            Console.ReadKey();
        }

输出结果:

调用了基类中的方法!

调用了派生类1中的方法!

调用了派生类2中的方法!

原文地址:https://www.cnblogs.com/han1982/p/2698041.html