ホームページ  >  記事  >  Java  >  Java 抽象クラスとインターフェイスの違いは何ですか?

Java 抽象クラスとインターフェイスの違いは何ですか?

Guanhui
Guanhuiオリジナル
2020-06-23 16:37:392662ブラウズ

Java 抽象クラスとインターフェイスの違いは何ですか?

#Java 抽象クラスとインターフェイスの違いは何ですか?

1. 抽象クラスは特定のメソッドの部分的な実装を提供できますが、インターフェイスはそれができません;

2. 抽象クラスは単一の継承メカニズムであり、そのサブクラスは必ずしも実装する必要はありません親 クラス内のすべての未実装メソッドとインターフェイス クラスには複数のインターフェイスを持つことができ、メソッドは実装する必要があります。

抽象クラスについて理解する

abstractclass とインターフェイスは両方とも、Java 言語で抽象クラスを作成するために使用されます (この例では抽象クラス)。記事 これは、abstractclass から翻訳されたものではなく、抽象本体を表し、abstractclass は Java 言語で抽象クラスを定義するために使用されるメソッドです。区別に注意してください) では、抽象クラスとは何ですか? 抽象クラスを使用すると、どのような利点がありますか?私たちは持っていきますか?

オブジェクト指向の概念では、すべてのオブジェクトがクラスによって表現されることがわかっていますが、その逆は当てはまりません。すべてのクラスがオブジェクトの記述に使用されるわけではないため、特定のオブジェクトを記述するのに十分な情報がクラスに含まれていない場合、そのクラスは抽象クラスになります。抽象クラスは、問題領域の分析と設計から導き出された抽象的な概念を表すためによく使用され、見た目は異なっていても本質的には同じである一連の特定の概念を抽象化したものです。例: グラフィック編集ソフトウェアを開発すると、問題領域に円や三角形などの特定の概念がいくつかあることがわかります。それらは異なりますが、すべて形状の概念に属します。形状の概念は異なります。問題領域に存在する場合、それは抽象的な概念です。抽象概念には問題領域内に対応する具体概念がないため、抽象概念を表すために使用される抽象クラスをインスタンス化することができません。

オブジェクト指向の分野では、抽象クラスは主に型の隠蔽に使用されます。固定された一連の動作の抽象的な記述を構築できますが、この一連の動作には、可能な具体的な実装をいくつでも含めることができます。この抽象的な記述は抽象クラスであり、この可能な具体的な実装のセットは、可能なすべての派生クラスによって表されます。モジュールは抽象本体上で動作できます。モジュールは固定された抽象化に依存しているため、変更することはできませんが、同時に、このモジュールの動作はこの抽象化から派生することによって拡張することもできます。 OCP に詳しい読者は、オブジェクト指向設計の中核原則の 1 つである OCP (Open-ClosedPrinciple) を実現するには、抽象クラスが鍵であることを知っているはずです。

推奨チュートリアル: 「Java チュートリアル

以上がJava 抽象クラスとインターフェイスの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:JavaはJDKですか?次の記事:JavaはJDKですか?