猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

2.1

データによる抽象の構造

 2章では「手続き」を組み合わせて「合成手続き」を構築したように、「データ」を組み合わせて「合成データ」を構築する(例 「整数」というデータを組み合わせて、「有理数」を構築する)。

注意:
 抽象という単語が本文で繰り返されている。Wikiだと抽象化は「計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組み」のように定義されているが、もっと噛み砕いて言うとプログラマが具体的実装の中身を意識しないですむこと」のようにとらえてよいと思う。ライブラリなどがその具体例。

2.1 データ抽象入門

 データ抽象は, 合成データオブジェクトの使い方を, それがより基本的データからどう作られたかの細部から隔離する技法である.

2.1.1 有理数の算術演算

 有理数の加減乗の演算は、与えられた有理数の分母および分子を取り出す選択子と、整数の組から有理数を構成する構成子のみを用いて実装できる。ここでは選択子・構成子ともに具体的な実装に依存しないことに注意。

2.1.2 抽象の壁

下層は上層にインタフェースのみを提供する。