Đa hình là một trong những khái niệm OOPs quan trọng nhất. Nó là một khái niệm mà chúng ta có thể thực hiện một nhiệm vụ theo nhiều cách. Có hai loại đa hình, một là đa hình thời gian biên dịch và một loại khác là đa hình thời gian chạy.
Quá tải phương thức là ví dụ về đa hình thời gian biên dịch và ghi đè phương thức là ví dụ về đa hình thời gian chạy.
Sr. Không. | Phím | Tính đa hình thời gian biên dịch | Tính đa hình thời gian chạy |
---|---|---|---|
1 | Cơ bản | Tính đa hình thời gian biên dịch có nghĩa là ràng buộc đang diễn ra tại thời điểm biên dịch | R un time polymorphism nơi mà tại thời điểm chạy, chúng ta biết phương thức nào sẽ gọi |
2 | Tĩnh / Động Ràng buộc | Nó có thể đạt được thông qua ràng buộc tĩnh | Nó có thể đạt được thông qua liên kết động |
4. | Kế thừa | Không liên quan đến việc thừa kế | Có liên quan đến thừa kế |
5 | Ví dụ | Nạp chồng phương thức là một ví dụ về tính đa hình thời gian biên dịch | Ghi đè phương thức là một ví dụ về tính đa hình thời gian chạy |
Ví dụ về Đa hình thời gian biên dịch
public class Main { public static void main(String args[]) { CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample(); obj.display(); obj.display("Polymorphism"); } } class CompileTimePloymorphismExample { void display() { System.out.println("In Display without parameter"); } void display(String value) { System.out.println("In Display with parameter" + value); } }
Ví dụ về Đa hình thời gian chạy
public class Main { public static void main(String args[]) { RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample(); obj.display(); } } class RunTimePolymorphismParentClassExample { public void display() { System.out.println("Overridden Method"); } } public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample { public void display() { System.out.println("Overriding Method"); } }