- 前説
- CLOSの構成要素は、classes、instances、generic functions と methodsであり、これらが密接に関係している。
- CLOSの構成要素は、classes、instances、generic functions と methodsであり、これらが密接に関係している。
- 2.1 CLASSES AND INSTANCES
- CLOSプログラミングはclassの定義からはじまる。
- a class は a COMMON LISP typeである。そのclassのオブジェクトをinstanceという。
- CLOSのinstanceのアイデンティティの考え方は、そもそものLisp objectsのそれと合致している。
- CLOSプログラミングはclassの定義からはじまる。
- 2.2 SLOTS
- classの構造はslotsで表現される。slotsはaccessorでread/writeされる。
- slotsには、local slots と shared slots がある。
- classの構造はslotsで表現される。slotsはaccessorでread/writeされる。
- 2.3 SUPERCLASS
- classからclassを作る。元のclass(component class)をsuperclassという。できたclassは、structureとbehaiviorを継承する。
- superclassの対義語はsubclass。
- superclass、subclassの関係は数珠繋ぎにできる。直近のsuperclassをdirect superclassという。
- classからclassを作る。元のclass(component class)をsuperclassという。できたclassは、structureとbehaiviorを継承する。
- 2.4 GENERIC FUNCTIONS
- instanceを操作するときは、generic functionsを用いる。
- generic functionsは、利用者からみると、通常のCL関数と同じようである。
- generic functionsがインターフェイスを定め、実装はmethodsでやる。この点が通常のCL関数と異なる。
- どのmedthodを呼ぶかを判断する機構は、generic dispatchと呼ばれる。
- instanceを操作するときは、generic functionsを用いる。
- 2.5 METHODS
- 前章とおなじ。
- 前章とおなじ。
- 2.6 METHOD ROLES
- メソッドにはrolesがある。
- メソッドには、primary methodsとauxilaly methodsがある。
- auxilaly methodsには、before-methodsとafter-methodsとaround methodsがある。
- primary methodsが主たる機能を担う。
- auxilaly medhodsは副作用を担うことが多い。
- methodsは継承される。
- 継承と、primary,auxilalyの兼ね合いとが、methods間の作業分担を形成する。
- メソッドにはrolesがある。
- 2.7 THE CONTROLLER OF INHERITANCE
- 2つのsuper classes が競合する特徴をもっていた場合、inheritanceはどうなるか?
- a class precedence list に従って、precedenceが決まり、それがinheritanceを決める。
- a class precedence list は、class定義のあり様によってきまる。
- more specific なら more prior。
- 2つのsuper classes が競合する特徴をもっていた場合、inheritanceはどうなるか?
- 2.8 SUMMARY OF THE CLOS MODEL
- 特になし。
- 特になし。
- 2.9 HOW CLOS EXTENDS COMMON LISP
- defstructとCLOSの比較。
- 良好な接続。classesはtypesと同じように扱える。
- CLOSの方が柔軟。
- defstructとCLOSの比較。
2008年2月2日土曜日
2 Elements of CLOS Programs
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿