Polymorphic Behaviour : Polymorphism « Class Module « VB.Net Tutorial






Class ID
    Public Number As String

    Public Sub New(ByVal Number As String)
        Me.Number = Number
    End Sub

    Public Overridable Sub Dial()
        Console.WriteLine("Dialing: " & Number)
    End Sub
End Class

Class Phone
    Inherits ID

    Public Sub New(ByVal Number As String)
        MyBase.New(Number)
    End Sub

    Public Overrides Sub Dial()
        Console.WriteLine("Beep, touch-tone phone calling: " & Number)
    End Sub
End Class

Class CreditCardID
    Inherits ID

    Public Sub New(ByVal Number As String)
        MyBase.New(Number)
    End Sub

    Public Overrides Sub Dial()
        Console.WriteLine("Rotary dialing: " & Number)
    End Sub
End Class


Module Module1

    Sub Main()
        Dim card As New CreditCardID("555-1212")
        Dim phone As New Phone("800-555-1212")

        Dim PolyID As ID

        Console.WriteLine("Using standard objects")
        card.Dial()
        phone.Dial()

        Console.WriteLine("Using polymorphic phone")
        PolyID = card
        PolyID.Dial()

        PolyID = phone
        PolyID.Dial()
    End Sub

End Module
Using standard objects
Rotary dialing: 555-1212
Beep, touch-tone phone calling: 800-555-1212
Using polymorphic phone
Rotary dialing: 555-1212
Beep, touch-tone phone calling: 800-555-1212








6.15.Polymorphism
6.15.1.Polymorphic Behaviour
6.15.2.Inheritance and polymorphism
6.15.3.Demonstrate polymorphism in Point-Circle-Cylinder hierarchy.
6.15.4.Late binding