データの抽象化とカプセル化の違い

目次:

Anonim

データの抽象化とカプセル化の主な違いは、 データ抽象化は、実装の詳細を非表示にし、コードの複雑さを軽減するためにユーザーに機能のみを表示します。カプセル化は、データとメソッドを1つのユニットにバインドまたはラップし、データ保護のために詳細を非表示にします。

オブジェクト指向プログラミング(OOP)は、現実世界のシナリオをソフトウェアにモデル化するのに役立ちます。これは、クラスとオブジェクトを使用してプログラムを設計するためのパラダイムまたは方法論です。クラスは、オブジェクトを作成するための青写真です。つまり、オブジェクトを作成するための構造です。これは、属性とメソッドで構成されています。属性はプロパティまたはデータを記述し、メソッドは操作または動作を記述します。クラスなしでオブジェクトを作成することはできません。したがって、オブジェクトはクラスのインスタンスです。データの抽象化とカプセル化は、OOPの2つの概念です。

データの抽象化、カプセル化、OOP

データ抽象化とは

データの抽象化とは、内部の詳細を非表示にし、機能を表示することです。つまり、実装の詳細を非表示にし、機能を外の世界に提示するだけです。実際の例の1つは、テレビです。ユーザーは、テレビを見るために内部の電子回路や機能を知る必要はありません。もう1つの例は、携帯電話の使用です。ユーザーは内部処理を知る必要はありません。彼は、電話をかける、メッセージを送信する、インターネットを閲覧するなどの主な機能を知っている必要があります。

データ抽象化は、ソフトウェア開発に利点をもたらします。最も重要なことは、コードの複雑さを軽減することです。さらに、詳細を非表示にし、重要な機能を公開します。 OOPをサポートする言語は、抽象クラスとインターフェースを使用してデータの抽象化を実現するのに役立ちます。

カプセル化とは

カプセル化は、データとメソッドを1つのユニットに結合します。カプセル化の主な目的は、データを保護することです。医療用カプセルに似ています。薬はカプセルの中にあり、外界から覆われて保護されています。

図01:カプセル化

カプセル化を実現する方法は、「private」や「​​public」などのアクセス変更を使用することです。それらは、データまたはメソッドの可視性を変更します。プライベートメンバーはクラス内でのみアクセス可能ですが、パブリックメンバーはクラス内および他のクラスからアクセス可能です。

データメンバーまたはプロパティをプライベートにし、ゲッターやセッターなどのパブリックメソッドを介してそれらにアクセスすることにより、OOP言語でカプセル化を実装することができます。同様に、カプセル化はデータとメソッドを1つのユニットに圧縮します。さらに、データを保護します。

データの抽象化とカプセル化の違い

意味

データ抽象化は、実装の詳細を非表示にし、機能のみをユーザーに表示するOOPの概念です。カプセル化は、データとメソッドを1つのユニットにバインドまたはラップするOOPの概念です。

主な用途

データ抽象化は実装の詳細を非表示にしてコードの複雑さを軽減し、カプセル化はデータ保護の目的でデータを非表示にします。これは、2つの使用法に関するデータの抽象化とカプセル化の主な違いです。

達成する方法

OOP言語は、抽象クラスとインターフェースを使用してデータ抽象化を実現します。対照的に、OOP言語は、データメンバーをプライベートにし、パブリックメソッドを介してそれらにアクセスすることにより、カプセル化を実現できます。

結論

データの抽象化とカプセル化は、OOP(オブジェクト指向プログラミング)の2つの概念です。データの抽象化とカプセル化の違いは、データの抽象化では実装の詳細が非表示になり、コードの複雑さが軽減されるのに対し、カプセル化ではデータ保護の詳細が非表示になることです。

リファレンス:

1.チュートリアルポイント。 「Javaカプセル化」。 Www.tutorialspoint.com、Tutorials Point、2018年3月24日、こちらから入手可能2.「Javaでの抽象化」 GeeksforGeeks、2017年11月14日、こちらから入手可能。3。「Javaでのカプセル化」。 Javatpoint、ここから入手できます。

データの抽象化とカプセル化の違い