Visual Basic Concepts
Polymorphism
See Also
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.