Skip to Content
COM+ Programming with Visual Basic
book

COM+ Programming with Visual Basic

by Jose Mojica
June 2001
Intermediate to advanced
368 pages
11h 3m
English
O'Reilly Media, Inc.
Content preview from COM+ Programming with Visual Basic

Polymorphism I (Multiple Components—Single Interface)

The term polymorphism refers to many different things in object-oriented lingo. One aspect of polymorphism is that two classes may share a single interface but implement the methods in the interface slightly differently. To illustrate this meaning of polymorphism, let’s suppose we add a CSavings class to the project:

' Class CSavings

Option Explicit

Implements IAccount

Private m_cBalance As Currency
Private m_dInterest As Double

Private Property Get IAccount_Balance(  ) As Currency
    IAccount_Balance = m_cBalance 
End Property

Private Sub IAccount_MakeDeposit(ByVal Amount As Currency)
    m_cBalance = m_cBalance + Amount + (Amount * m_dInterest)
End Sub

Notice that the preceding code is very similar to that of the CChecking class, except that the MakeDeposit subroutine actually adds some interest to the Amount sent it (this is a very good savings account). This shows that the definition of the interface tells the implementer nothing about how the code for the function is to be written. Each class may have a different interpretation of the MakeDeposit routine. (Later, you will see that this is especially good for polymorphism.) The only requirement is that they have similar semantics—in other words, that the two implementations do roughly the same thing with slight variations; MakeDeposit in CSavings does not remove money from an account, for example.

At this point, our project has two implementation classes, CChecking and CSavings, and ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Subclassing and Hooking with Visual Basic

Subclassing and Hooking with Visual Basic

Stephen Teilhet
VB .NET Language in a Nutshell

VB .NET Language in a Nutshell

Steven Roman PhD, Ron Petrusha, Paul Lomax
Programming in the .NET Environment

Programming in the .NET Environment

Damien Watkins, Mark Hammond, Brad Abrams

Publisher Resources

ISBN: 1565928407Supplemental ContentCatalog PageErrata