ポリモーフィズムは、OOP の最も重要な概念の 1 つです。これは、単一のタスクを複数の方法で実行できるという概念です。ポリモーフィズムには 2 つのタイプがあり、1 つはコンパイル時ポリモーフィズム、もう 1 つは実行時ポリモーフィズムです。
メソッドのオーバーロードはコンパイル時のポリモーフィズムの一例であり、メソッドのオーバーライドは実行時のポリモーフィズムの一例です。
メソッドのオーバーロードはコンパイル時のポリモーフィズムの一例であり、メソッドのオーバーライドは実行時のポリモーフィズムの一例です。 p>
上級。 | キー | コンパイル時のポリモーフィズム | 実行時のポリモーフィズム |
---|---|---|---|
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 サイトの他の関連記事を参照してください。