Object-oriented programming
Object-oriented programming languages offer subtype polymorphism using "subclassing" (also known as "inheritance"). In typical implementations, each class contains what is called a "virtual table"—a table of functions that implement the polymorphic part of the class interface—and each object contains a pointer to the "vtable" of its class, which is then consulted whenever a polymorphic method is called. This mechanism is an example of: