\r\n\r\n
コンピュータ・プログラミングは広大な分野であり、この技術的なソフトウェアには、共通の言語から派生しているものの、異なる意味を持つ用語が数多く存在します。カプセル化と抽象化という似たような呼び方がある。より広い表現では、例えば海水から塩を取り除くように、他のアイテムのグループから1つのアイテムを取り除くことを抽象化することです。一方、カプセル化とは、何かを安全な場所にまとめることです。その最たるものが、何らかの薬剤を封入したカプセルである。このように、オブジェクト指向プログラミングの場合、抽象化とは、ユーザーが重要と思われる情報を抽出し、その際、目の前の処理にとって重要でない情報を無視することができるようにするプロセスである。それは、必要なものを得るために固定化する作業とも言える。カプセル化とは、必要なものはすでに見えるように、不要なものは見えないようにデータを設定し、無用なトラブルを回避することである。この2つの言葉は、抽象化が処理全体の性質を扱うのに対し、カプセル化が本来の性質を生み出す処理を扱うという点で正反対である。これらの抽象的な用語に対する理解と隠蔽を維持する上で、注目されるのが、この用語です。この2つの問題を解決する場合、異なる基準があります。抽象化は初期段階での問題解決を、カプセル化は実装段階での問題解決を図る。より複雑なプログラミングの説明では、設計や抽象クラスによる実装の安全性を確保することが抽象化となる。そして、カプセル化とはセッターとゲッターの助けを借りてデータを安全に保つことです。この2つの用語については、より詳しく説明することができますので、以下の説明で正しく理解することができます。
目的 | 抽象化 | カプセル化 |
定義 | 情報を得るためのプロセス。 | 情報を含むプロセス。 |
マネジメント | 必要な部分のみを抽出することで、必要な情報を得ることができる | 提供する情報は必要なものだけで、それ以外の無関係なデータはすべて隠されている |
ソリューション | これは、インターフェースレベルで解決されます。 | そのコードが実装されると、問題は解決します。 |
事例紹介 | の外付けボタンは、抽象的なものとして見ることができます。 | すべてのプログラムが搭載されたチップは、パッケージとして見ることができます。 |
オブジェクト指向プログラミングにとって、抽象化とは情報を取得することである。必要な情報のみを抽出し、重要度の低いものは無視するような形で、必要な情報を得ることができる。あるいは、不要な情報を追い出し、機密データの完全性だけを保持する。この場合、ほとんどのクラスは何らかの実装を持たず、問題解決プロセスのほとんどはインターフェイスの段階で行われる。抽象クラスはすでに存在し、パブリック関数を共有しなければならないときにそれらを使用することができますので、抽象化では、新しい変数を作成することが可能である。この用語は、日常的に使用することでよりよく説明することができ、アイデアのみを扱い、事象を扱わないプロセスと定義するのが最も適切である。存在しないものは、抽象化という概念に過ぎない。抽象化パターンには、データ、関数、合成、制御、リソース、ストレージなどの種類があり、その作成方法も様々です。これらのことから、必要な統計情報は表示し、重要度の低い情報はメイン画面とは別に隠すことができ、これは俗に言うデータ隠蔽とも言えるでしょう。
カプセル化とは、情報を内包することである。提供する情報は必要なものだけで、それ以外の無関係なデータはすべて隠蔽されています。この場合、問題解決は実装の段階で行われる。抽象化の延長線上にある、資料を一箇所に集める作業と考えられることもありますが、必要と思われるものだけを見せるという点で、情報隠蔽とは大きく異なります。そのため、プログラミングコードを外部から隠すために使用される。カプセル化とは、その製品の本質的な特性のみを示すカプセルの中に何かを入れることである。例えば、人がソフトウェアを使うとき、コードが何であるかは知らず、コードによって生成された必要な機能だけを使い、それはファイルの中で安全である。
抽象化とカプセル化は非常に異なる用語であり、それをこの論文では、人々が正しく理解することが難しくならないように、両者の主な違いを適切な方法で説明し、このプラットフォームを通じてタスクが実現されることを望んでいます。