Generische FunktionGenerische Funktionen (nicht zu verwechseln mit Funktionen bei der generischen Programmierung) sind innerhalb der objektorientierten Programmierung ein Konzept[1] bestimmter Programmiersprachen wie Common Lisp,[2] die Multimethoden implementieren. Da sich Multimethoden aufgrund ihrer Natur nicht sinnvoll einer Klasse zuordnen lassen, werden sie stattdessen einer generischen Funktion zugeordnet. Die Gesamtheit der auf diesem Weg einer generischen Funktion zugeordneten Methoden bildet dann ihren Funktionsumfang. Generische Funktionen in Common LispDefinitionGenerische Funktionen werden mit dem Makro (defgeneric meine-funktion (typ1 typ2 typ3))
VerwendungDie Generischen Funktionen bildet nur den Einstiegspunkt in eine Hierarchie von Methoden. Ihre Definition darf unterbleiben, da sie automatisch erfolgt, sobald eine erste Methode gleichen Namens definiert wird. Sofern allerdings optionale, keyword- oder rest-Parameter vorgesehen sind, kann die genaue Spezifikation der Parameterliste nur über eine explizite Definition der generischen Funktionen erfolgen. Siehe auchEinzelnachweise
|