編譯時多型與執行時多型之間的區別


多型是其中之一,也是最重要的 面向物件(OOP)概念。這是一個概念,我們可以透過多種方式執行單個任務。有兩種多型,一種是編譯時多型,另一種是執行時多型。

方法過載是編譯時多型的一個例子,方法重寫是執行時多型的一個例子。

序號編譯時多型執行時多型
1基礎編譯時多型表示繫結發生在編譯時在執行時我們才知道將呼叫哪個方法
2靜態/動態繫結可以透過靜態繫結實現可以透過動態繫結實現
4.繼承不涉及繼承涉及繼承
5示例方法過載是編譯時多型的示例方法重寫是執行時多型的示例

編譯時多型的示例

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

執行時多型的示例

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

更新於:2023 年 9 月 12 日

33K+ 瀏覽

開啟你的 職業

完成課程後獲得認證

開始
廣告