Javaの仮想関数とは何ですか?



この記事では、Javaの仮想関数の概念と、そのアプリケーションのポリモーフィズムおよび実行時の関数の呼び出しについて例を挙げて説明します。

Javaは これは、ポリモーフィズム、継承、抽象化などの概念をサポートします。これらのOOPの概念は、 クラスオブジェクト 、およびメンバー関数。仮想関数は、実行時のポリモーフィズムに役立つそのような概念の1つです。このブログでは、仮想関数について 。この記事では、次のトピックについて説明します。

Javaの仮想関数とは何ですか?

仮想関数の動作は次のようになります。 オーバーライド 同じ名前の継承クラス関数を使用します。基本的に基本クラスで定義され、継承されたクラスでオーバーライドされます。





javaオブジェクトの配列を作成する方法

Javaの仮想関数は、 。基本クラスの参照またはポインタを使用して派生クラスのオブジェクトを参照することにより、仮想関数を呼び出すことができます。

Javaのすべての非静的メソッドは、デフォルトでは仮想メソッドです。 Javaには次のような仮想キーワードはありません C ++ 、しかし、それらを定義して、実行時のポリモーフィズムなどの概念に使用することができます。



仮想関数の例

Javaで仮想関数を使用する方法を理解するために、例を見てみましょう。

class Vehicle {void make(){System.out.println( 'heavy Duty')}} public class Trucks extends Vehicle {void make(){System.out.println( 'Transport Vehicle for Heavy Duty')} public static void main(String args []){Vehicle ob1 = new Trucks()ob1.make()}}
 出力: 大型輸送車両

Javaのすべての非静的メソッドは、以下を除いて仮想関数です。 最後の そして プライベートメソッド 。ポリモーフィズムに使用できないメソッドは、仮想関数とは見なされません。

に 静的メソッドはクラス自体にバインドされているため、は仮想関数とは見なされません。したがって、オブジェクト名またはクラスから静的メソッドを呼び出すことはできません。 。静的メソッドをオーバーライドしても、ポリモーフィズムの概念とは共鳴しません。



インターフェイスを備えた仮想機能

すべてのJavaインターフェースは仮想であり、メソッドの実装を提供するために実装クラスに依存しています。実行するコードは実行時に選択されます。理解を深めるための簡単な例を次に示します。

インターフェイスCar {void applyBrakes()}インターフェイスAudiはCar {void applyBrakes(){System.out.println( 'breaks Applied')}}を実装します

ここで、applyBreaks()は仮想です。これは、インターフェイスの関数がオーバーライドされるように設計されているためです。

純粋仮想関数

純粋仮想関数は、実装されていない仮想関数です。 Javaの抽象メソッドは、純粋仮想関数と見なすことができます。これをよりよく理解するために例を見てみましょう。

抽象クラスDog {final void bark(){System.out.println( 'woof')} abstract void jump()//これは純粋仮想関数です}クラスMyDog extends Dog {void jump(){System.out.println ( 'Jumps in the air')}} public class Runner {public static void main(String args []){Dog ob1 = new MyDog()ob1.jump()}}
 出力: 空中でジャンプ

これは、仮想関数を抽象クラスで使用する方法です。

ランタイムポリモーフィズム

実行時ポリモーフィズムとは、オーバーライドされたメソッドの呼び出しが、実行時にではなく解決される場合です。 コンパイル時 。オーバーライドされたメソッドは、基本クラスの参照変数を介して呼び出されます。

class Edureka {public void show(){System.out.println( 'welcome to edureka')}}クラスコースはEdurekaを拡張します{public void show(){System.out.println( 'Java認定プログラム')} public static void main(String args []){Edureka ob1 = new Course()ob1.show()}}
 出力: Java認定コース

覚えておくべきポイント

  • Javaの仮想関数の場合、明示的な宣言は必要ありません。なんでも 基本クラスにあり、同じ名前の派生クラスで再定義されています。

  • 基本クラスポインタは、派生クラスのオブジェクトを参照するために使用できます。

  • プログラムの実行中、基本クラスポインタは、派生クラス関数を呼び出すために使用されます。

これで、Javaの仮想関数について学習したこの記事の終わりになります。このチュートリアルで共有されているすべてのことを明確に理解していただければ幸いです。

「Javaの仮想関数」に関するこの記事が関連していると感じた場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社が世界中に広がっています。

Javaで終了する方法

私たちはあなたの旅のすべてのステップであなたを助け、Java開発者になりたい学生や専門家のために設計されたカリキュラムを考え出すためにここにいます。このコースは、Javaプログラミングをすぐに開始できるように設計されており、さまざまなJavaのコア概念と高度な概念の両方についてトレーニングします。 お気に入り Hibernate

ご不明な点がございましたら、「Javaの仮想関数」のコメントセクションでお気軽にご質問ください。チームが喜んでお答えします。