next up previous
Next: 4.5 データのタイプ付け Up: 4 Scheme言語を用いた抽象化プログラミング Previous: 4.3.3 関数の戻り値としての手続きの場合

4.4 データの抽象化

データの抽象化の例としては,いろいろな内部データ表現に対してもひとつの 関数で取り扱いができるようにするという話があります.以前行なった探索プ ログラムの例で,探索するグラフの内部表現がどうであろうともアクセスする 関数名は同じになるようにしていましたが,それと同じ内容のことです. ただ,ここでは,データ指向プログラミング,つまり,データ自身に どうアクセスするかという手続きが保存されているという 形を紹介します.オブジェクト指向プログラミングの例では, クラス,メソッドという形で統一的なメカニズムがありましたが, ここでは,シンボルの属性リストを用いた例があります. Schemeにも属性リストというものがあります. ただし,putという関数の引数の順序はCommonLispとはちがいます.

==> (put 'a 'value 10)
10 
==> (get 'a 'value)
10


generated through LaTeX2HTML. M.Inaba 平成18年5月6日