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中的方法!