: メソッド update の役割り
: オブジェクト指向言語のモデル化
: オブジェクト指向言語のモデル化
- いくつかのオブジェクト指向の特徴の間での違いと、類似点を議論した。
クラスベースとオブジェクト指向言語の特徴の多くは 2,3 の一般的なアイデアの表
現の違いであるということができる。これらの表現の違
いは、単一の概念的でかつフォーマルフレームワークに統合できるかとい
う自然な問いが発生する。
- 単一フレームワークを持ったオブジェクト指向言語のバラエティーを
囲む可能な方法が 2 つある。一つ目のアプローチは、オブジェクト
classification と継承についての(全ての)考えられるバラエティー
を表現することができる、オブジェクトモデルを作ることである。
そのようなモデルは作れるかもしれないが、その「複雑さ」または表現の一般性
によりあまり役にたつわけではない。
- 他のアプローチとしては、より複雑な概念を表現し、十分に柔軟的で簡単
なモデルを作ることである。しかし、ある特定言語に直接実装できるもので
はない。これは(
計算を使って)手続き言語のより多くの理解の結果
解決できる。この本ではオブジェクト指向言語のために適合したアプローチを
提供する。節 6.7 と 18 章で議論するように、
計算はオブジェク
ト指向言語のための基礎として完全ではない。
計算をオブジェク
ト計算に置換することにより、望まれたモデリングパワーを得ることができる。
- 我々が開発したオブジェクト計算は
計算の抽象と同じレベ
ルのフォーマリズムである。
計算の開発にあるように、我々は最小
の型なし(関数ではなくオブジェクトをベースにしている)カーネルから始め、よ
り構造を付け加えて、言語の特徴が実際にモ
デル化されうるまで、洗練されたタイプシステムにしていく。この本のコース
では、関数と命令型実行モデルの両方について、型なし、簡単タイプ、多相計
算を議論する。オブジェクト primitive のよく知られたカーネルは、計算
全てのファミリーの概念的合体を提供する。
- オブジェクト計算は、クラスベースとオブジェクトベース言語を基本的
なメカニズムに削減した結果としてみることができる。クラスベース言語は、
多くのアイデアを単一の構造(クラス)に統合している。クラスベース言語を理
解し、解析するための多くの努力は、それらのアイデアの違いを区別すること
である。
- オブジェクトベース言語は、クラスベースの特徴を簡単化するために分
解し、異なった方法でそれらを再構築することである。
- 我々の開発では、オブジェクトベース言語をオブジェクト計算
に分解する。original のオブジェクトベースまたは、クラスベースの特徴の
模倣は、直接的でなく、便利ではないかもしれない。生の表現力は、しかし、
同じである。
平成12年8月22日