データ隠蔽と抽象化の違いは何ですか

目次:

Anonim

NS 主な違い データの隠蔽と抽象化の間には、 データの隠蔽はデータの保護に役立ち、抽象化はシステムの複雑さの隠蔽に役立ちます。

オブジェクト指向プログラミング(OOP)は、構造化プログラミングなどの他のパラダイムを使用するよりも、現実世界のシナリオに対するソリューションを簡単に作成するのに役立つパラダイムです。 OOPは、クラスとオブジェクトを使用したプログラムの設計に基づいています。クラスは、オブジェクトを作成するための計画または青写真です。属性とメソッドが含まれています。属性は、オブジェクトのプロパティを説明するデータメンバーです。メソッドは動作を記述します。オブジェクトはクラスを使用して作成されます。データの隠蔽とデータの抽象化は、OOPの2つの重要な概念です。

抽象化、クラス、データ隠蔽、オブジェクト、OOP

データ隠蔽とは

クラスは、データメンバーとメソッドで構成されます。データの隠蔽は、クラスのメンバーを保護するのに役立ちます。 Javaなどのプログラミング言語には、public、private、protectedなどのアクセス修飾子があります。他のクラスのオブジェクトは、パブリックデータのメンバーとメソッドにアクセスできます。ただし、保護されたメンバーには、同じクラスとそのサブクラスのオブジェクトからアクセスできます。さらに、プライベートメンバーはクラス内でのみアクセスできます。したがって、これらのアクセス修飾子は、メンバーを保護するのに役立ちます。

他のクラスのオブジェクトがクラスのメンバーにアクセスするのを制限する必要がある場合、プログラマーはプライベートアクセス修飾子を使用できます。その場合、データメンバーはクラス内でのみアクセスできます。データメンバーをプライベートにして、パブリックメソッド(ゲッターとセッター)を介してデータメンバーにアクセスできるようにすることもできます。

カプセル化はOOPの主要な概念です。データメンバーとメソッドを1つのユニットにラップします。さらに、それはデータ隠蔽を達成する方法です。全体として、データの隠蔽はクラスのメンバーを保護するのに役立ちます。

抽象化とは

抽象化は内部の詳細を非表示にし、機能のみをユーザーに表示します。つまり、実装の詳細を隠し、機能を外の世界に提示します。たとえば、携帯電話などの実際のアプリケーションを想定します。ユーザーは、電話をかけたり、SMSを送信したり、ゲームをしたり、インターネットを閲覧したりするために、携帯電話の内部構造や回路を理解する必要はありません。

Javaなどのプログラミング言語をサポートするOOPでは、抽象クラスとインターフェイスを使用して抽象化を実装できます。抽象クラスは、抽象メソッドと非抽象メソッドを持つことができます。抽象クラスを拡張するクラスは、抽象メソッドの定義を提供する必要があります。さらに、インターフェイス内のすべてのメソッドは抽象メソッドです。したがって、インターフェイスを実装するクラスは、これらすべての抽象メソッドの定義を提供する必要があります。

データ隠蔽と抽象化の違い

意味

データ隠蔽は、クラスメンバーへの排他的なデータアクセスを保証し、意図しないまたは意図した変更を防ぐことによってオブジェクトの整合性を提供するプロセスです。一方、抽象化は、実装の詳細を非表示にし、機能のみをユーザーに表示するOOPの概念です。したがって、これがデータの隠蔽と抽象化の主な違いです。

主な焦点

データの隠蔽はデータの保護に焦点を合わせていますが、抽象化はシステムの複雑さの隠蔽に焦点を合わせています。したがって、これはデータの隠蔽と抽象化のもう1つの違いです。

使用法

結論

データの隠蔽と抽象化は、OOPに関連する2つの概念です。データ隠蔽はデータメンバーを保護します。カプセル化は、データの隠蔽を実現するために使用されます。一方、抽象化はシステムの複雑さを軽減するのに役立ちます。また、内部の詳細へのアクセスを制限し、ソフトウェアの重要な機能をユーザーに示します。データ隠蔽と抽象化の主な違いは、データ隠蔽はデータの保護に役立ち、抽象化はシステムの複雑さを隠すのに役立つことです。

リファレンス:

1.「Javaの抽象クラス–Javatpoint」。 Www.javatpoint.com、ここから入手可能2。 「Javaでのカプセル化–Javatpoint。」 Www.javatpoint.com、ここから入手できます。

画像提供:

1.「CPT-OOP-オブジェクトとクラス」Pluke著–自作、(CC0)CommonsWikimedia経由

データ隠蔽と抽象化の違いは何ですか