Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa đa hình thời gian biên dịch và đa hình thời gian chạy

Đ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");
   }
}