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.
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or properties), and the code is in the form of procedures (often known as methods). A common feature of objects is that procedures (or methods) are attached to them and can access and modify the object's data fields. In this brand of OOP, there is usually a special name such as or used to refer to the current object.
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 ...