どのプログラミング言語でも、 抽象化 関係のない詳細をユーザーから隠して、本質的な詳細のみに焦点を合わせ、効率を高めて複雑さを軽減することを意味します。 Javaでは、抽象化は次を使用して実現されます抽象クラスとメソッド。で抽象メソッドについてもっと知りましょう 。
この記事で説明するトピックは次のとおりです。
抽象クラスとは何ですか?
いずれかで 、キーワードで宣言されたクラス 概要 抽象クラスとして知られています。アン 抽象クラス サブクラスの共通の特性をキャプチャし、含まれる場合と含まれない場合があります 抽象メソッド 。インスタンス化することはできませんが、そのサブクラスによってスーパークラスとしてのみ使用できます。
以下にリストされているのは、抽象クラスに関するいくつかの重要なポイントです。
- 抽象クラスは持つことができます コンストラクター および静的メソッド
- それは持つことができます 最終的な方法 、サブクラスがメソッドの本体を変更しないように強制します
- 別のクラスから継承して抽象クラスを使用し、その中の抽象メソッドに実装を提供できます。
- 抽象クラスにメソッドの実装がない場合は、常に使用することをお勧めします インターフェース
抽象として宣言されたクラスには、抽象メソッドが含まれる場合と含まれない場合があります。しかし、抽象メソッドとは正確には何ですか?
抽象メソッドとは何ですか?
本文なしで宣言されたメソッド(実装なし)抽象クラス内には 抽象メソッド。 言い換えれば、あなたがしたい場合 クラス 特定のメソッドを含めるが、そのメソッドの実際の実装を子クラスによって決定する場合は、親クラスのメソッドを抽象として宣言できます。
これは、Javaでの抽象メソッドの外観です。
抽象パブリックボイドハビタット()
抽象メソッドの主な機能
以下にリストされているのは、抽象メソッドの主な機能です。
javaインスタンスとは
- 抽象メソッドには実装(本体)がなく、上記の例に示すようにメソッドシグネチャがあるだけです。
- クラスに抽象メソッドがある場合、それを抽象として宣言する必要があります。その逆も同様です。
- 中括弧の代わりに、抽象メソッドの末尾にセミコロン()が付きます
- もし 通常のクラス 抽象クラスを拡張する場合、クラスはそのクラスのすべての抽象メソッドを実装する必要があります。そうでない場合は、抽象として宣言する必要があります。
サンプルプログラム:Javaの抽象メソッド
サンプルプログラムをチェックして、抽象クラスと抽象メソッドを使用して抽象化がどのように達成されるかを理解してください。見てください。
package MyPackage // abstract class abstract class Animal {String AnimalName = '' Animal(String name){this.AnimalName = name} //非抽象メソッドを宣言する//デフォルトの実装があるpublicvoid BasicInfo(String details){System。 out.println(this.AnimalName + '' + details)} //サブクラスによって実装される抽象メソッドabstractpublic void habitat()abstract public void respiration()} class Terrestrial extends Animal {//コンストラクターTerrestrial(String name){super(name)} @Override public void habitat(){System.out.println( 'leave on land and')} @Override public void respiration(){System.out.println( 'respire肺または気管を介して。 ')}}クラスAquatic extends Animal {//コンストラクタAquatic(String name){super(name)} @Override public void habitat(){System.out.println(' It Leaves in water and ') } @Override public void respiration(){System.out.println( '鰓またはその皮膚を通して呼吸します。')}} class AbstractClassDemo {public static voi d main(String [] args){//陸生クラスのオブジェクトを作成し、//動物クラス参照を使用します。動物object1 = new Terrestrial( 'Humans')object1.BasicInfo( 'are terrestrial beings、they')object1.habitat()object1.respiration()System.out.println( '')//サークルクラスAnimalのオブジェクトを作成するobject2 = new Aquatic( 'Fishes')object2.BasicInfo( 'are aqautic beings、they')object2.habitat()object2.respiration()}}
出力:
メソッド BasicInfo() は 両方で使用されています 地上 そして 水生 クラス。メソッド habitat() そして 呼吸() は抽象メソッドであり、実装はなく、署名のみです。 地上 そして 水生 クラスは、これらのメソッドの両方に独自の実装を提供する必要があります。また、どちらの方法もキーワードで始まることに注意してください 概要 。この時点で、あなたはどうですか? 抽象クラス とは異なります インターフェース 。
Javaのインターフェース
Javaのヒープおよびスタックメモリ
達成する別の方法 抽象化 Javaでは インターフェイス 。 インターフェイスは抽象的なメソッドのコレクションであり、具体的なものはありません 、抽象クラスとは異なります。ただし、抽象クラスとは異なり、インターフェースはJavaで完全な抽象化を提供します。クラスと同じように、メソッドと変数の両方を持つことができます。ただし、インターフェイスで宣言されたメソッドはデフォルトで抽象的です。
抽象クラスとインターフェイスは、2つの主要な構成要素です。の 。どちらも主に抽象化に使用されますが、互いに大きく異なり、互換的に使用することはできません。
これで、この「Javaの抽象メソッド」の記事は終わりです。私は最もよく尋ねられるものの1つをカバーしました 、Javaの抽象クラスです。
できるだけ練習し、経験を元に戻してください。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 質問がありますか?この「Javaの抽象メソッド」のコメントセクションでそれについて言及してください 記事と私たちはできるだけ早くあなたに返信します。