Multimethode

Multimethode

Als Multimethoden bezeichnet man Methoden einer objektorientierten Programmiersprache, deren Auswahl nicht nur anhand des Typs eines Objekts getroffen wird, sondern anhand der dynamischen Typen mehrerer Objekte. Diese Art der Methodenauswahl wird auch als multiple dispatch (mehrfache Verteilung) bezeichnet.

Zu unterscheiden ist die mehrfache Verteilung von der in vielen strukturierten Programmiersprachen möglichen Überladung, bei der Methoden polymorph bezüglich der statischen Typen ihrer Parameter sind.

Während bei klassischen OO-Sprachen wie Java ausschließlich der dynamische Typ des impliziten ersten Parameters this herangezogen wird, können in Sprachen mit multiple dispatch Methoden auch auf die dynamischen Typen aller ihrer Parameter spezialisiert werden. Die von vielen (insbesondere C-ähnlichen) kompilierten Sprachen angebotene Überladung entspricht einem multiple dispatch zur Übersetzungs-Zeit. Interessanterweise bieten die meisten Script-Sprachen Multimethoden in Form von Überladung jedoch zu Gunsten dynamischer Typisierung nicht an. (auch wenn dynamische Typisierung Multimethoden nicht ausschließt)

Die bekannteste OO-Umgebung, die diese Fähigkeit hat, ist CLOS (Common Lisp Object System), aber auch Sprachen wie Dylan, Slate, Cecil, Guile oder der Java-Abkömmling Nice bieten Derartiges. In C++ ist es möglich Multimethoden als Funktoren und Templates auf verschiedene Weisen zu implementieren.


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Multiméthode — Dispatch multiple Le dispatch multiple est une fonctionnalité de certains langages orientés objet ou langages fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d un de ses paramètres formels. On l appelle… …   Wikipédia en Français

  • Psychopathy — (IPA en|saɪˈkɒpəθi [ [http://www.bartleby.com/61/63/P0636300.html American Heritage Dictionary] ] [ [http://www.merriam webster.com/dictionary/psychopathy Merriam Webster s Online Dictionary] ] ) is a psychological construct that describes… …   Wikipedia

  • Hare Psychopathy Checklist — In contemporary research and clinical practice, Robert D. Hare s Psychopathy Checklist Revised (PCL R) is the psycho diagnostic tool most commonly used to assess psychopathy.[1] Because an individual s score may have important consequences …   Wikipedia

  • CLOS — Das Common Lisp Object System (kurz: CLOS) ist die objektorientierte Erweiterung der Programmiersprache Common Lisp. Es hat seine Ursprünge in Loops und Smalltalk, und ist im ANSI Standard über Common Lisp spezifiziert. CLOS wird durch das… …   Deutsch Wikipedia

  • Methode (Programmierung) — Der Begriff Methode (Eng. method oder member function, zu deutsch auch Mitgliedsfunktion) wird in der Programmierung allgemein als Sammelbegriff sowie auch synonym unter anderem für Funktionen und Prozeduren verwendet. Speziell in der… …   Deutsch Wikipedia

  • Dispatch Multiple — Le dispatch multiple est une fonctionnalité de certains langages orientés objet ou langages fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d un de ses paramètres formels. On l appelle alors multiméthode.… …   Wikipédia en Français

  • Dispatch multiple — Le dispatch multiple est une fonctionnalité de certains langages orientés objet ou langages fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d un de ses paramètres formels. On l appelle alors multiméthode.… …   Wikipédia en Français

  • Multi-méthode — Dispatch multiple Le dispatch multiple est une fonctionnalité de certains langages orientés objet ou langages fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d un de ses paramètres formels. On l appelle… …   Wikipédia en Français

  • Multiple dispatch — Dispatch multiple Le dispatch multiple est une fonctionnalité de certains langages orientés objet ou langages fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d un de ses paramètres formels. On l appelle… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”