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

削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
m cewbot: 修正ウィキ文法 26: HTMLの<b>タグの使用
98行目:
 
他の言語において、あるインスタンスのメソッドを呼び出すときの動作について考えてみよう。そのインスタンスのクラスが親クラスを持つとき、例えばJavaのような言語においては、継承されたメソッドは'''上書き'''されてしまう。一方,CLOSではそのような通常の'''上書き(オーバーライド)'''戦略だけにとどまらず、多種多様な戦略がANSI標準で定義され、かつ自由に定義できる。
(ただし、javaは<code>super</code>という特殊なメソッドを備えているため、子クラスのメソッドから親のメソッドを呼ぶことができ、言語の柔軟性を高めている。)
 
メソッド結合法則は総称関数の定義ごとに指定する。'''標準メソッド結合'''以外のメソッド結合法則を指定した場合、メソッド定義の際には'''メソッド指定子(Qualifier)'''を指定して、結合法則に固有の機能を使うことを指定しなくてはいけない。それぞれのメソッド結合は複数のメソッド指定子を持つ。なお、すべてのメソッド結合は'''<code>:around</code>メソッド結合'''を持たなくてはならないと定義されている。