抽象化とカプセル化
コンテンツ
抽象化は
構築の基盤となる重要な情報を収集する
複雑なシステム。カプセル化は複雑なシステムを多く開発するプロセスです
内部の複雑さを心配することなく、エンドユーザーの管理が容易になります。の
抽象化とカプセル化の違いは
抽象化は、構築に不可欠なコンポーネントを識別することに焦点を当てています
カプセル化はシステムの内部の複雑さを隠すことに焦点を合わせています。
内容:抽象化とカプセル化の違い
- 比較表
- 抽象化とは何ですか?
- 例
- カプセル化とは何ですか?
- 例
- 抽象化とカプセル化の主な違い
- 結論
比較表
ベーシック | 抽象化 | カプセル化 |
定義 | 開発に必要な要素 システム。 | カプセル化は複雑なシステムを開発するプロセスです |
成果 | カプセル化によって達成されました。 | メンバーを作ることで達成 プライベートとしてのクラス。 |
焦点 | 何をすべきかに焦点を当てる | 焦点は、その方法にあります。 |
応用 | 設計レベル中。 | 実装中 レベル。 |
例 | 携帯電話のGUIには、クリックするアイコンがいくつかあります。 特定の機能を実行するをクリックします。 | アイコンをクリックすると、 エンドユーザーは、その実装の詳細に関して何も知りません |
抽象化とは何ですか?
抽象化は重要な要素を抽出するメカニズムです
実装の詳細なしで、システムを作成します。に
抽象化、我々はそれがどのようにではなく何をすべきかに集中する必要があります
する必要があります。抽象化は思考プロセスであり、設計の問題を解決します
レベル。
階層的な分類は、複雑な抽象化を処理するのに役立ちます。複雑なシステムを管理可能な部分に分割し、階層化されたセマンティクスを生成できます。さらに、それは一般化です。
例
自動車の良い例を見てみましょう。エンジン、ブレーキ、照明、オーディオシステム、椅子など、多くのサブシステムから作成されます。自転車のサブシステムである「ブレーキ」は、前輪ブレーキと後輪ブレーキにさらに分類できますが、一般的に、すべてのサブシステムはブレーキと見なされます。したがって、階層的な分類によって複雑なシステムを管理する必要があります。これは、システムの開発に必要な重要な要素を見つけるのに役立ちます。
したがって、抽象化は要素が何であるかを一般化するだけです
システムを作成するために不可欠です。つまり、重要なものだけを選択します。
カプセル化とは何ですか?
カプセル化は、オブジェクト指向プログラミングの重要な機能です。それはメカニズムです
コードとデータをまとめて外部から保護します
干渉。つまり、カプセル化はシステムの複雑さを隠し、
ここのキーワードはデータの非表示であるためです。それは保護に似ています
クラス内のコードとデータを隠すラッパー。
クラスとメンバー関数/メソッドの外部で定義されている別のコード
それはクラスのメンバーではありません。
動作するコードとデータ
そのデータ上で、クラスでリンクされ、このクラスのオブジェクトが作成されます。
アイテムの要素へのアクセスは、明確に定義されたインターフェースによって制限されています
アクセス指定子として知られています。 3つのアクセスがあります
JavaおよびC ++のパブリック、プライベート、セキュアの指定子。
カプセル化は、特にコードを作成することにより達成されます
そして、プライベートとしてデータ上で動作するデータ。クラスのプライベートメンバーは、定義されたコードからアクセスできません
クラスの外。データの誤用を防ぐのに役立ちますが、複雑さも隠します
コードの。
例
携帯電話の例を見てみましょう。携帯電話では、あなたは
写真をクリックする、ビデオ/オーディオを記録する、
を入力すると、ウェブなどにアクセスできます。あなたはこれらを
携帯電話の特性。しかし、最終ユーザーはする必要はありません
これらの機能を使用する前に、これらの機能の内部の複雑さを理解する
プログラム、または機能の機能を変更する必要もありません。
このように、カプセル化は複雑さを隠し、
データの誤用を防ぎます。
抽象化とカプセル化の主な違い
- 抽象化は、以下に必要なコンポーネントに焦点を合わせます
カプセル化が複雑さを隠すことに焦点を合わせている間にシステムを構築する
システム。 - 抽象化は、システムの設計レベルで行われ、
カプセル化は、システムが
実装されました。 - 抽象化の主な動機は、構築するために何をすべきか
カプセル化の主な動機はシステムですが、システムを構築するためにそれをどのように行うべきかです。 - 抽象化は
カプセル化に対して、カプセル化は、
システムプライベート。
結論
抽象化とカプセル化
どちらもOOPの重要な機能です。優れたカプセル化により、素晴らしい抽象化を実現できます。