「Common Lisp Object System」の版間の差分

削除された内容 追加された内容
Guicho w (会話 | 投稿記録)
Guicho w (会話 | 投稿記録)
100行目:
 
==== standard メソッドコンビネーション / 標準メソッド結合 ====
これはjavaのもつ継承戦略と共通点がある。標準メソッド結合では、指定子を指定しない場合無指名メソッド( ''unspecified method qualifier'' )には上書き戦略を用いるが、その他に<code>:around</code>,<code>:before</code>,<code>:after</code>メソッド結合を持つ。
メソッド結合を持つ。
 
<code>:around</code>メソッドの中では、<code>(call-next-method)</code>という特殊な関数を呼ぶことができ、これによって適用度が<b>次に大きい</b>メソッドを呼び出すことができる。javaでは子がsuperを通じて親メソッドを呼び出すが、CLOS''':around'''では逆に親が子を呼び出す、という違いがある。なお、<code>(call-next-method)</code>は無指名メソッドの中でも呼びことができ、こちらではjavaと同様子が親を呼び出すことができる。
 
==== + メソッド結合 ====