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

Home
VB.Net Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statements
5.Date Time
6.Class Module
7.Development
8.Collections
9.Generics
10.Attributes
11.Event
12.LINQ
13.Stream File
14.GUI
15.GUI Applications
16.Windows Presentation Foundation
17.2D Graphics
18.I18N Internationlization
19.Reflection
20.Regular Expressions
21.Security
22.Socket Network
23.Thread
24.Windows
25.XML
26.Database ADO.net
27.Design Patterns
VB.Net
VB.Net by API
VB.Net Tutorial » Class Module » Polymorphism 
6.15.1.Polymorphic Behaviour
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
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.