Visual Basic Concepts
Polymorphism
Polymorphism means that many classes can provide the same property or method, and a caller doesn't have to know what class an object belongs to before calling the property or method.
For example, a Flea class and a Tyrannosaur class might each have a Bite method. Polymorphism means that you can invoke Bite without knowing whether an object is a Flea or a Tyrannosaur — although you'll certainly know afterward.
The following topics describe Visual Basic's approach to polymorphism and how you can use it in your programs.
How Visual Basic Provides Polymorphism Most object-oriented languages provide polymorphism via inheritance; Visual Basic uses the multiple interface approach of the Component Object Model (COM).
Creating and Implementing an Interface An extended code example shows how to create an abstract Animal interface and implement it for Tyrannosaur and Flea classes.
Implementing Properties The interfaces you implement can have properties as well as methods, although there are some differences in the way properties are implemented.
Time Out for a Brief Discussion of Objects and Interfaces Clarifies the terms object and interface, introduces the concept of querying for an interface, and describes other sources of interfaces to implement.
The Many (Inter)Faces of Code Reuse In addition to implementing abstract interfaces, you can reuse your code by implementing the interface of an ordinary class, and then selectively delegating to a hidden instance of the class.
For More Information With the Professional and Enterprise editions of Visual Basic, Polymorphism becomes a powerful mechanism for evolving systems of software components. This is discussed in "General Principles of Component Design" in Creating ActiveX Components in the Component Tools Guide.