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