- Multimethoden
-
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.
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 bekannteste OO-Umgebung, die diese Fähigkeit hat, ist CLOS, aber auch Sprachen wie Dylan, Slate, Cecil oder der Java-Abkömmling Nice bieten Derartiges.
Zu unterscheiden ist die mehrfache Verteilung von der in vielen OO-Programmiersprachen möglichen Überladung, bei der Methoden polymorph bezüglich der statischen Typen ihrer Parameter sind.
Wikimedia Foundation.