运行时多态性具有方法覆盖,也称为动态绑定或后期绑定。它由抽象类和虚函数实现。
抽象类包含抽象方法,这些方法由派生类实现。
让我们看一个实现运行时多态性的抽象类的示例-
using System; namespace PolymorphismApplication { abstract class Shape { public abstract int area(); } class Rectangle: Shape { private int length; private int width; public Rectangle( int a = 0, int b = 0) { length = a; width = b; } public override int area () { Console.WriteLine("矩形类区域:"); return (width * length); } } class RectangleTester { static void Main(string[] args) { Rectangle r = new Rectangle(10, 7); double a = r.area(); Console.WriteLine("Area: {0}",a); Console.ReadKey(); } } }
矩形类区域: Area: 70
当您在类中定义了要在继承的类中实现的函数时,可以使用虚函数。虚拟函数可以在不同的继承类中以不同方式实现,并且对这些函数的调用将在运行时确定。