ホームページ  >  記事  >  Java  >  コンパイル時ポリモーフィズムと実行時ポリモーフィズムの違いは何ですか?

コンパイル時ポリモーフィズムと実行時ポリモーフィズムの違いは何ですか?

WBOY
WBOY転載
2023-09-03 12:57:071088ブラウズ

コンパイル時ポリモーフィズムと実行時ポリモーフィズムの違いは何ですか?

ポリモーフィズムは、OOP の最も重要な概念の 1 つです。これは、単一のタスクを複数の方法で実行できるという概念です。ポリモーフィズムには 2 つのタイプがあり、1 つはコンパイル時ポリモーフィズム、もう 1 つは実行時ポリモーフィズムです。

メソッドのオーバーロードはコンパイル時のポリモーフィズムの一例であり、メソッドのオーバーライドは実行時のポリモーフィズムの一例です。

メソッドのオーバーロードはコンパイル時のポリモーフィズムの一例であり、メソッドのオーバーライドは実行時のポリモーフィズムの一例です。 p>

動的バインディングを通じて達成可能#を達成することを決意

##4.5コンパイル時のポリモーフィズムの例
上級。 キー コンパイル時のポリモーフィズム 実行時のポリモーフィズム
1

Basic

コンパイル時ポリモーフィズムとは、コンパイル時にバインディングが発生することを意味します

実行時ポリモーフィズム プロパティ。実行時には、どのメソッドが呼び出されるかがわかっています

#2

静的/動的Binding

##静的バインディングを通じて達成可能

継承

は関与しません 継承

継承の関与

メソッドのオーバーライドはコンパイル時のポリモーフィズムの例です

メソッドのオーバーライドは実行時のポリモーフィズムの例です

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

以上がコンパイル時ポリモーフィズムと実行時ポリモーフィズムの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。