源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 多态性的深入理解

  • 时间:2022-03-21 23:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 多态性的深入理解
MSDN 上面的定义:通过继承,一个类可以有多种类型:可以用作它自己的类型,任何基类型,或者在实现接口时用作任何接口的类型。 [b]从两个方面来说明多态 [/b]1.在运行时,方法参数和集合或者是数组等位置,派生类的对象都可以作为基类的对象处理,发生此情况时,该对象的声明类型不再与运行时类型相同。 2.基类定义实现虚方法,派生类重写这些方法,在运行时,CLR会查找运行时类型,并且调用派生类重写的方法.
[u]复制代码[/u] 代码如下:
    class Shape     {         public virtual void Draw()         {             Console.WriteLine("Draw a shape");         }     }     class Circle : Shape     {         public override void Draw()         {             Console.WriteLine("Draw a circle");         }     }     class Rectangle : Shape     {         public override void Draw()         {             Console.WriteLine("Draw a Rectangle");         }     }     class Triangle : Shape     {         public override void Draw()         {             Console.WriteLine("Draw a Triangle");         }     }     class Programm     {         static void Main()         {             //此次就说明了,派生类对象可以作为基类对象进行处理             Shape[] shapes =             {              new Circle(),              new Rectangle(),              new Triangle()             };             foreach (Shape s in shapes)             {                 //调用Draw()方法的时候,调用了派生重写的方法,而不是基类                 s.Draw();             }         }     }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部