カプセル化と抽象化の両方が情報の隠蔽に関連しているので、カプセル化を抽象化のサブセットとして理解できますか?
2 に答える
カプセル化は、抽象化を実現する1つの方法にすぎません。
「抽象化」は概念であり、その本質的な特性または動作を通じて特定の「もの」(それが何であれ)を定義または理解するという考えです。
「カプセル化」は、具体的なオブジェクトを抽象的なコンポーネントに還元する方法で具体的なオブジェクトを処理できるようにするクラスを作成するために使用されるコンピュータサイエンスの手法です。
コンピュータサイエンスの分野では、グラフやその他のデータ構造の使用などの他の手法は、グラフ(またはマトリックスやその他の構造)のようには見えない場合でも、さまざまな基礎となる「もの」の抽象化を提供する別の方法です。 )これらの構造に具体化された本質的な特性のいくつかを持っています。
他のドメインでは、日常の概念を表す「プロトタイプ」(高レベルの不変表現)を作成および維持する、人間の脳で機能する 終わりのない分類プロセスなど、非常に多様な方法で抽象化を実現できます。
残念ながら、上記の3つの用語は、良くも悪くも、多少互換的に使用されることがよくあります。
カプセル化という用語は、情報隠蔽と同じ意味で使用されることがよくあります。ただし、2つの違いについて全員が同意するわけではありません。情報隠蔽は原則であり、カプセル化は技術であると考えるかもしれません。ソフトウェアモジュールは、情報をモジュールまたはインターフェイスを提供する他の構造にカプセル化することによって情報を隠します。
あなたの具体的な質問については、答えはノーだと思います。カプセル化は、おそらく抽象化のサブセットとして最もよく考えられているわけではありません。抽象化は多かれ少なかれ理想的です。カプセル化
その構造と動作を構成する抽象化の要素を区分化するプロセス
優れた抽象化を実現するための手段です。