2013-02-13 25 views

答えて

4

はい、「類似のもの」がありますが、より強力です:generic functions

EDIT:オーバーロードの定義がコンパイル時の解決を意味することは知らなかった。ありがとうRainer Joswig。

+0

@Vsevolod Dyomkinありがとうございました。私は 'defmethod'について考えている間に脳のバッファオーバーフローが発生しました:) –

+1

しかし、オーバーロードはコンパイル時に解決されますが、ジェネリック関数はランタイムディスパッチを行います。意味的には、オーバーロードを置き換えるためにジェネリック関数を使用することはできますが、逆には使用できません。 – Svante

+0

@Svante私はここで少し混乱していると信じています。 C#はランタイム・ディスパッチも行いますが、呼び出されるオブジェクトの型にのみ基づいて、引数のランタイム・タイプは無視します。 –

3

Common Lispはありません。

Common Lispは 'オーバーロード'をサポートしていません。

Common Lispは、CLOSを介して多型を提供しますが、オーバーロードはしません。

+1

私の答えを編集しました。ありがとうございました! –

関連する問題