抽象化と継承の違いは何ですか

目次:

Anonim

NS 主な違い 抽象化と継承の間はそれです 抽象化により、内部の詳細を非表示にし、機能のみをユーザーに表示できます。一方、継承により、既存のクラスのプロパティとメソッドを使用できます。

オブジェクト指向プログラミング(OOP)は、主要なプログラミングパラダイムです。これにより、開発者は一連のオブジェクトを使用して実際のシナリオを簡単にモデル化できます。 JavaやC#などの多くの最新のプログラミング言語はOOPをサポートしています。クラスとオブジェクトは、OOPプログラムの構成要素です。クラスは青写真ですが、オブジェクトはクラスのインスタンスです。さらに、OOPの柱があります。それらの2つは、抽象化と継承です。

抽象化、抽象クラス、継承、インターフェース、オブジェクト、OOP

抽象化とは

抽象化は、内部の詳細を非表示にし、機能のみをユーザーに表示する方法です。つまり、ユーザーまたは外部の世界には、内部の実装の詳細は表示されません。代わりに、彼は機能だけを見ています。抽象化の概念は、次の例に似ています。たとえば、リモコンを想定します。操作するボタンのセットで構成されています。ユーザーは、チャンネルの変更、音量の増加、明るさの変更などを行うことができます。操作するためにコントローラーの内部回路について知る必要はありません。抽象化はそれに似ています。

Javaなどのプログラミング言語は抽象化をサポートしています。プログラマーは、抽象クラスやインターフェースなどの概念を使用して抽象化を実装できます。まず、抽象クラスは抽象メソッドと非抽象メソッドで構成できます。抽象クラスを拡張するクラスは、抽象メソッドの実装を提供する必要があります。第二に、インターフェースは抽象メソッドのコレクションです。非抽象メソッドはありません。したがって、インターフェイスを実装するクラスは、インターフェイス内のすべての抽象メソッドに実装またはメソッド定義を提供する必要があります。全体として、抽象化はシステムの複雑さを軽減するのに役立ちます。

継承とは

継承は、新しいクラスで既存のクラスのプロパティとメソッドを使用する方法です。既存のクラスは親またはスーパークラスであり、新しいクラスは子またはサブクラスです。開発者は最初からコードを書く必要はありません。代わりに、彼は既存のコードを使用して残りを開発することができます。したがって、継承によりコードの再利用が可能になります。

継承にはさまざまな種類があります。以下のとおりです。

単一レベルの継承 – AとBが2つのクラスであり、BがAを継承する場合、それは単一レベルの継承です。

マルチレベルの継承 –中間クラスがあります。 A、B、Cと呼ばれる3つのクラスがあります。BはAから継承し、CはBから継承します。

多重継承 – A、B、およびCが3つのクラスであり、CがAとBの両方から継承する場合、それは多重継承です。

階層継承 – A、B、およびCが3つのクラスであり、BおよびCがAから継承する場合、それは階層継承です。

ハイブリッド継承 –これはマルチレベルと多重継承の組み合わせです。

抽象化と継承の違い

意味

抽象化は、実装の詳細を非表示にし、機能のみをユーザーに表示するOOPの概念です。対照的に、継承は、既存のクラスのプロパティとメソッドを使用して新しいクラスを作成する方法です。したがって、これは抽象化と継承の主な違いを反映しています。

主な用途

結論

全体として、抽象化と継承はまったく異なるOOPの概念であり、さまざまな用途を提供します。抽象化と継承の主な違いは、抽象化では内部の詳細を非表示にし、機能のみをユーザーに表示できるのに対し、継承では既存のクラスのプロパティとメソッドを使用できることです。

参照:

1.「Javaでの継承–Javatpoint」 Www.javatpoint.com、ここから入手できます。 2.「Javaの抽象クラス–Javatpoint」。 Www.javatpoint.com、ここから入手できます。

画像提供:

1.「継承図」Pluke著– Commons Wikimediaによる自作(CC0)。

抽象化と継承の違いは何ですか