OOP における抽象化とは何ですか? Java 抽象クラスとメソッド
OOP における抽象化とは
抽象化 必要な属性だけを「表示」し、不要な情報を「隠す」オブジェクト指向プログラミングの概念です。抽象化の主な目的は、不要な詳細をユーザーから隠すことです。抽象化とは、より大きなプールからデータを選択して、オブジェクトの関連する詳細のみをユーザーに表示することです。プログラミングの複雑さと労力を軽減するのに役立ちます。これは、OOP の最も重要な概念の 1 つです。
ビデオにアクセスできない場合は、ここをクリックしてください
OOP の抽象化について例を挙げて学習しましょう:
バンキング アプリケーションを作成する必要があり、顧客に関するすべての情報を収集するよう求められたとします。顧客に関する次の情報を思いつく可能性があります
<センター>
<図> フィギュア>センター>
ただし、バンキング アプリケーションを作成するために上記のすべての情報が必要なわけではありません。
そのため、そのプールからバンキング アプリケーションに役立つ情報のみを選択する必要があります。名前、住所、税金情報などのデータは、OOP の抽象化の例である銀行アプリケーションにとって意味があります
大規模なプールから顧客情報を取得/削除/選択したため、このプロセスは OOP では抽象化と呼ばれます。
ただし、一度抽出された同じ情報は、幅広いアプリケーションに使用できます。たとえば、同じデータを病院のアプリケーション、ジョブ ポータルのアプリケーション、政府のデータベースなどに、ほとんどまたはまったく変更せずに使用できます。したがって、それはあなたのマスターデータになります。これは、OOP における抽象化の利点です。
抽象化とカプセル化の違い
抽象化 | カプセル化 |
---|---|
オブジェクト指向プログラミングの抽象化は、設計レベルの問題を解決します。 | カプセル化により、実装レベルが解決されます。 |
プログラミングにおける抽象化とは、最も重要な情報を表示しながら不要な詳細を隠すことです。 | カプセル化とは、コードとデータを 1 つのユニットにバインドすることです。 |
Java のデータ抽象化により、情報オブジェクトに含まれている必要があるものに焦点を当てることができます | カプセル化とは、セキュリティ上の理由から、オブジェクトが何かを行う方法の内部の詳細またはメカニズムを隠すことを意味します。 |
抽象クラスとインターフェースの違い
抽象クラス | インターフェース |
---|---|
抽象クラスは、抽象メソッドと非抽象メソッドの両方を持つことができます。 | インターフェースは抽象メソッドのみを持つことができます。 |
多重継承はサポートしていません。 | 複数の継承をサポートしています。 |
インターフェースの実装を提供できます。 | 抽象クラスの実装を提供できません。 |
抽象クラスは、保護された抽象パブリック メソッドを持つことができます。 | インターフェースはパブリック抽象メソッドのみを持つことができます。 |
抽象クラスは、任意のアクセス指定子を持つ final、static、または static final 変数を持つことができます。 | インターフェースは public static final 変数のみを持つことができます。 |
抽象クラスとは?
抽象クラス 1 つ以上の抽象メソッドを宣言する OOP のクラスのタイプです。これらのクラスには、抽象メソッドと具象メソッドを含めることができます。通常のクラスは抽象メソッドを持つことはできません。抽象クラスは、少なくとも 1 つの抽象メソッドを含むクラスです。
抽象メソッドとは?
抽象メソッド メソッド定義のみを持ち、実装を含まないメソッドです。本体のないメソッドは、抽象メソッドとして知られています。抽象クラスで宣言する必要があります。抽象クラスはすべての抽象メソッドを実装する必要があるため、抽象メソッドが最終的なものになることはありません。
抽象化の利点
- プログラミングで抽象化を使用する主な利点は、いくつかの関連するクラスを兄弟としてグループ化できることです。
- オブジェクト指向プログラミングの抽象化は、ソフトウェアの設計および実装プロセスの複雑さを軽減するのに役立ちます
抽象メソッドと抽象クラスをいつ使用するか?
抽象メソッドは、ほとんどの場合、2 つ以上のサブクラスが異なる実装を通じて異なる方法で同じことを行っている場合に宣言されます。また、同じ抽象クラスを拡張し、抽象メソッドのさまざまな実装を提供します。
抽象クラスは、一般的なタイプの動作とオブジェクト指向プログラミング クラス階層を記述するのに役立ちます。また、抽象クラスの実装の詳細を提供するサブクラスについても説明します。
まとめ:
- プログラミングにおける抽象化とは、ソフトウェア内のオブジェクトの重要なデータ セットを選択し、重要でないデータ セットを除外するプロセスです。
- Java のデータ抽象化を使用してオブジェクトをモデル化すると、同じデータ セットをさまざまなアプリケーションで使用できます。
Java