Multiple dispatch or multimethods is the feature of some object-oriented programming languages in which a function or method can be dynamically dispatched based on the run time (dynamic type of more than one of its arguments. This is similar to function overloading, which is statically dispatched based on static types.
| Property | Value |
| dbpprop:abstract
|
- Multiple dispatch or multimethods is the feature of some object-oriented programming languages in which a function or method can be dynamically dispatched based on the run time (dynamic type of more than one of its arguments. This is similar to function overloading, which is statically dispatched based on static types.
- 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 (Common Lisp Object System), 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.
- 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.
- 多重ディスパッチ({{lang-en-short|Multiple dispatch)またはマルチメソッド({{lang-en-short|Multimethods)は、一部のオブジェクト指向プログラミング言語が持つ機能であり、関数やメソッドがその引数の一部のデータ型によって特殊化されるものをいう。
- Despacho múltiplo (ou multimétodo é funcionalidade disponível em algumas linguagens orientadas a objeto em que uma subrotina ou método pode ser especializado em tipo para mais de um argumento. Em uma linguagem de despacho único, quando um método é invocado (envio de mensagem no Smalltalk ou chamada de função membro em C++, um de seus argumentos é tratado especialmente, sendo usado para determinar qual dos métodos sobrecarregados deve ser usado. Em linguagens de despacho múltiplo, todos os argumentos são tratados simetricamente na seleção do método. O Common Lisp Object System é exemplo de linguagem que permite despacho múltiplo.
- Мультиме́тод ({{lang-en|multimethod) или мно́жественная диспетчериза́ция ({{lang-en|multiple dispatch) — это механизм, позволяющий выбрать одну из нескольких функций в зависимости от динамических типов аргументов. Таким образом, в отличие от обычных виртуальных функций выбор осуществляется с учётом не одного типа объекта, а нескольких. А в отличие от статической перегрузки функций выбор осуществляется на основе информации о динамических типах аргументов. В явном виде мультиметоды поддерживаются «объектной системой Common Lisp’а». Кроме того множественная диспетчеризация легко организуется с помощью сопоставления с образцом (pattern matching). Является обобщением понятий виртуальной функции и статической перегрузки функций.
|
| dbpprop:date
| |
| dbpprop:hasPhotoCollection
| |
| dbpprop:reference
| |
| dbpprop:wikiPageUsesTemplate
| |
| rdfs:comment
|
- Multiple dispatch or multimethods is the feature of some object-oriented programming languages in which a function or method can be dynamically dispatched based on the run time (dynamic type of more than one of its arguments. This is similar to function overloading, which is statically dispatched based on static types.
- 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.
- 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.
- 多重ディスパッチ({{lang-en-short|Multiple dispatch)またはマルチメソッド({{lang-en-short|Multimethods)は、一部のオブジェクト指向プログラミング言語が持つ機能であり、関数やメソッドがその引数の一部のデータ型によって特殊化されるものをいう。
- Despacho múltiplo (ou multimétodo é funcionalidade disponível em algumas linguagens orientadas a objeto em que uma subrotina ou método pode ser especializado em tipo para mais de um argumento. Em uma linguagem de despacho único, quando um método é invocado (envio de mensagem no Smalltalk ou chamada de função membro em C++, um de seus argumentos é tratado especialmente, sendo usado para determinar qual dos métodos sobrecarregados deve ser usado.
- Мультиме́тод ({{lang-en|multimethod) или мно́жественная диспетчериза́ция ({{lang-en|multiple dispatch) — это механизм, позволяющий выбрать одну из нескольких функций в зависимости от динамических типов аргументов.
|
| rdfs:label
|
- Multiple dispatch
- Multimethode
- Dispatch multiple
- 多重ディスパッチ
- Despacho múltiplo
- Мультиметод
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is dbpprop:redirect
of | |