In computer science, a dispatch table is a table of pointers or memory addresses to functions or methods. Use of such a table is a common technique when implementing late binding in object-oriented programming.
The following shows one way to implement a dispatch table in Perl, using a hash to store references to code (also known as function pointers).
Define the table using one anonymous code-ref and one named code-ref
my %dispatch = (
"-h" => sub { return "hello\n"; },
"-g" => &say_goodbye
);
sub say_goodbye {
return "goodbye\n";
}
Fetch the code ref from the table, and invoke it
my sub=dispatch{ARGV[0]};
print sub ? $sub->() : "unknown argument\n";
Running this Perl program as perl greet -h will produce "hello", and running it as perl greet -g will produce "goodbye".
Following is a demo of implementing dispatch table in JavaScript:
var thingsWeCanDo = {
doThisThing : function() { /* behavior / },
doThatThing : function() { / behavior / },
doThisOtherThing : function() { / behavior / },
default : function() { / behavior */ }
};
var doSomething = function(doWhat) {
var thingToDo = thingsWeCanDo.hasOwnProperty(doWhat) ? doWhat : "default"
thingsWeCanDothingToDo;
}
Virtual method table
In object-oriented programming languages that support virtual methods, the compiler will automatically create a dispatch table for each object of a class containing virtual methods. This table is called a virtual method table or vtable, and every call to a virtual method is dispatched through the vtable.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Explore l'optimisation de la répartition des méthodes dans les langages orientés objet, en se concentrant sur la mise en cache en ligne et les tests d'adhésion.
Explore la gestion de la mémoire, la sécurité, les techniques automatisées, la collecte des ordures, la répartition dynamique et les fonctions de première classe.
Explore les techniques de collecte des ordures dans des langages orientés objet, en se concentrant principalement sur la copie et la génération GC, l'organisation des tas, les politiques de promotion et les défis de répartition des méthodes.
La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Students learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time
Scala has been developed as a language that deeply integrates with the Java ecosystem. It offers seamless interoperability with existing Java libraries. Since the Scala compiler targets Java bytecode, Scala programs have access to high-performance runtimes ...