Tính đa hình thời gian chạy có ghi đè phương thức còn được gọi là liên kết động hoặc liên kết muộn. Nó được thực hiện bởi các lớp trừu tượng và các hàm ảo.
Các lớp Tóm tắt
Các lớp trừu tượng chứa các phương thức trừu tượng, được thực thi bởi lớp dẫn xuất.
Hãy để chúng tôi xem một ví dụ về các lớp trừu tượng triển khai tính đa hình thời gian chạy -
Ví dụ
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(); } } }
Ví dụ
Rectangle class area : Area: 70
Chức năng ảo
Khi bạn có một hàm được xác định trong một lớp mà bạn muốn được triển khai trong (các) lớp kế thừa, bạn sử dụng các hàm ảo. Các hàm ảo có thể được triển khai khác nhau trong các lớp kế thừa khác nhau và lệnh gọi các hàm này sẽ được quyết định trong thời gian chạy.