Javaでデータの抽象化を学ぶ
公開: 2021-11-11データ抽象化の概念は、実際の例を通じて説明できます。 車両に乗っているドライバーが、ブレーキをかけると車両がそれ以上動かなくなることを知っている例を考えてみましょう。 したがって、ドライバーが知っている唯一の情報は、車両の移動を停止する必要があるということです。そのため、ドライバーはブレーキをかけます。 しかし、彼はブレーキがかけられたときに車両がどのように停止するかについての根本的なメカニズムを知りません。 したがって、この概念は、ユーザーが知る必要のある情報のみが表示されるデータ抽象化の概念と比較できます。 基礎となる情報は隠されたままです。 つまり、これは抽象化の概念であり、データに適用される場合は、データ抽象化と呼ばれます。
オブジェクト指向プログラミングは、データ抽象化の概念を利用する方法を提供します。 Javaはオブジェクト指向プログラミングの1つであり、データ抽象化の機能に従います。 これらのプログラミング言語では、データの抽象化を実現するために抽象クラスとインターフェイスが使用されます。
Javaでのデータ抽象化のプロセスは、クラスの抽象クラスを介して実現されます。 インターフェイスは、抽象クラスとは別に、データの抽象化にも使用されます。 キーワード「abstract」は、メソッドとクラスの非アクセス修飾子として使用されます。 キーワードaccessで定義されている場合、クラスはオブジェクトの作成が許可されていない抽象クラスです。 抽象クラスへのアクセスは、別のクラスから継承されている場合にのみ可能です。 抽象メソッドは、抽象クラスでのみ使用できるメソッドです。 これらのメソッドにはメソッド本体がありません。
サブクラスは通常、本体を提供します。 抽象クラスには、通常のメソッドと抽象クラスの両方のメソッドを含めることができます。
目次
抽象クラスと抽象メソッドの違い
抽象クラスと抽象メソッドの違いは次のとおりです。
1.抽象クラスは、キーワードabstractで宣言されたクラスです。
2.抽象メソッドは、その実装なしで宣言されるようなタイプのメソッドです。
3.抽象クラスは、それ自体の中にすべての抽象メソッドメソッドを持っている必要はありません。 また、抽象的ではないメソッドを含めることもできます。
4.メソッドが抽象メソッドとして定義されている場合は常に、サブクラスでも再度定義する必要があります。 これにより、オーバーライドが必須になり、サブクラスも抽象化されます。
5. 1つの抽象メソッドまたはそれ以上の抽象メソッドがクラスに含まれている場合は、キーワードabstractを使用して抽象として宣言する必要があります。
6.抽象クラスにオブジェクトを含めることはできません。 新しい演算子を使用して抽象クラスをインスタンス化することはできません。
7.抽象クラスには常にデフォルトのコンストラクターが存在します。 また、パラメーター化されたコンストラクターを抽象クラスに含めることもできます。
Java抽象クラス
プログラミング言語Javaは、抽象クラスを介して抽象化を実装します。 抽象クラスは、これらのクラスをインスタンス化できないという特別な命令を使用して、キーワード「abstract」で宣言されたクラスとして定義できます。 これらのクラスには、抽象メソッドが含まれる場合と含まれない場合があります。
Javaの抽象クラスの構文を以下に示します。
上記のコードはhttps://www.softwaretestinghelp.com/what-is-abstraction-in-java/から取得されます。
上記の構文では、抽象メソッドと非抽象メソッドの両方を抽象クラスに含めることができることがわかります。 また、キーワード「abstract」はクラスの宣言の前に配置されます。
ここでjava抽象クラスについてもっと読む
Java抽象メソッド
Java抽象メソッドは、キーワード「abstract」が前に付いているメソッドですが、メソッドの実装はありません。 Java抽象メソッドは、Java抽象クラス内で宣言されます。
抽象メソッドが原因で、メソッドを実装できないため、Java抽象クラスは不完全になります。 したがって、抽象クラスに抽象形式を含めると、当然、抽象クラスは不完全になります。
サブクラスでの実装では、抽象メソッドを使用できます。 このサブクラスは抽象クラスを継承し、抽象メソッドの実装を実行します。 抽象メソッドの一般的な構文は次のとおりです。
抽象voidmethodName(parameter_list);
抽象の方法を書く際に注意すべきいくつかの規則
- クラスに複数の抽象メソッドが含まれている場合、そのクラスは抽象クラスになります。
- 抽象クラスとメソッドを定義するときは、「abstract」以外のキーワードを使用しないでください。
上記の点を考慮すると、Javaでは次の可能性は許可されていません。
- 最後の
- 抽象ネイティブ
- 抽象静的
- 抽象プライベート
- 抽象同期
- 抽象strictfp
Javaでのデータ抽象化の例を以下に示します。
https://www.javatpoint.com/how-to-achieve-abstraction-in-java 。
上記のコードはhttps://www.softwaretestinghelp.com/what-is-abstraction-in-java/から取得されます。
上記のコードには、クラスBankがあります。 Bankクラス内にgetInterestRate()という抽象メソッドがあります。 他の2つのクラスBOIとICICIが宣言されており、これらはクラスBankを継承しています。 これらの宣言されたクラスはBankクラスを継承するため、金利を返すメソッドgetInterestRate()を実装します。
Bankのオブジェクトは、primaryメソッドで作成されます。 Bankのオブジェクトは、金利を表示するICICIクラスオブジェクトで構成されています。 次のステップでは、金利を表示するクラスBOIのオブジェクトも作成されます。
インターフェイスを介したデータの抽象化
インターフェイスはJavaクラスに似ていますが、インターフェイスに空のメソッドがあることだけが異なります。 また、抽象メソッドと静的定数で構成されるクラスとして定義することもできます。 インターフェイスに存在するすべてのメソッドはパブリックであり、コンストラクターは含まれていません。 このインターフェースは、データの抽象化を実現するために使用されます。また、Javaで多重継承を実行するためにも使用されます。
Javaのインターフェースのいくつかの機能は次のとおりです。
- インターフェイスは、完全な抽象化を実現するために使用できます。
- 1つのクラスで複数のインターフェースを使用して、複数のインターフェースを実現できます。
- インターフェースにより、緩い結合を実現できます。
インターフェイスの構文を以下に示します。
上記の構文は、 https://www.javatpoint.com/how-to-achieve-abstraction-in-javaから使用されています。
インターフェイスは、キーワード「implements」を介して使用できます。
抽象クラスとインターフェースのいくつかの違いは次のとおりです。
- 抽象メソッドと非抽象メソッドの両方を抽象クラスに含めることができます。 一方、インターフェイスには、抽象メソッドのみが存在できます。
- 最終変数は、抽象クラスに存在する場合と存在しない場合があります。 インターフェイスでは、変数はデフォルト変数としてfinalにすることができます。
- クラス抽象には、非final、final、non-static、またはstaticの変数を含めることができます。 一方、インターフェイスには、静的変数と最終変数のみが存在する場合があります。
- 抽象クラスを使用すると、インターフェイスを実装できます。 抽象クラスをインターフェイスに実装することはできません。
- 抽象クラスの継承は、キーワード「extends」を介して行われます。 インターフェイスの実装は、キーワード「implements」を介して行われます。
- 抽象クラスは複数のインターフェースを実装できますが、他のクラスは抽象クラスによって拡張できます。 一方、インターフェースは別のインターフェースのみの実装を許可できます。
- パブリックメンバーとは別に、保護されているデータメンバーとプライベートメンバーの両方が抽象クラスに含まれています。 一方、インターフェイスのメンバーはデフォルトでパブリックです。
世界のトップ大学からオンラインでソフトウェアコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
この記事では、データ抽象化の概念について説明し、Javaでデータ抽象化を実現する方法をリストしました。 Javaプログラミング言語の経験を積むために、upGradが提供するソフトウェア開発コースを確認できます。 このコースは、働く専門家向けに設計されており、必要なプログラミングスキルを開発する業界指向のプロジェクトでトレーニングを行います。 詳細については、当社のWebサイトから取得できます。 情報やヘルプについては、当社のサポートチームにお問い合わせください。
データの抽象化は、ソフトウェアの設計概念です。 それが解決する問題は、それらが操作するデータ型に依存しないデータ構造と関数を作成することです。 コードをデータ型から分離し、同じコードを複数の状況で使用できるようにします。 データの抽象化は、データ構造によって表されるデータと、それらに適用できる操作が明確に定義されている場合に実現されます。 抽象化はソフトウェア開発に不可欠です。 これは、よりシンプルで、より小さく、より信頼性の高いソフトウェアにつながる基本的な力の1つです。 データの抽象化は、高級言語の重要なコンポーネントです。 Javaでの抽象化は、インターフェースを使用して行われます。 インターフェイスを実装するには、実装も提供する必要があります。 実際には、インターフェースを実装するためにクラスを継承する必要はありません。 インターフェイスは、Javaの他のクラスとまったく同じです。 それらが異なるのは、メソッドが1つしかないという事実です。データ抽象化とは何ですか?
Javaでの抽象化の利点は何ですか?
Javaで抽象化を実現する方法は?