什麼是 C# 中的執行時多型性?
執行時多型性具有方法重寫,也稱為動態繫結或後期繫結。它是透過 抽象類 和 虛擬函式 實現的。
抽象類
抽象 類包含抽象方法,由派生類實現。
讓我們看一個實現執行時多型性的抽象類的示例 −
示例
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("Rectangle class area :"); 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(); } } }
示例
Rectangle class area : Area: 70
虛擬函式
當你在一個類中定義了一個你希望在繼承類中實現的函式時,你使用了 虛擬 函式。虛擬函式可以在不同的繼承類中以不同的方式實現,對這些函式的呼叫將在執行時決定。
廣告