Class Module VB.Net Tutorial

Option Strict On
 Imports System
 Imports Microsoft.VisualBasic
 Interface Printable
     Sub Read( )
     Sub Write( )
 End Interface
 Public Class Document : Implements Printable
     Public Sub New(ByVal s As String)
         Console.WriteLine("Creating document with: {0}", s)
     End Sub
     Public Overridable Sub Read( ) Implements Printable.Read
         Console.WriteLine("Document Virtual Read Method for Printable")
     End Sub
     Public Sub Write( ) Implements Printable.Write
         Console.WriteLine("Document Write Method for Printable")
     End Sub
 End Class
 Public Class Note : Inherits Document
     Public Sub New(ByVal s As String)
         MyBase.New(s)
         Console.WriteLine("Creating note with: {0}", s)
     End Sub
     Public Overrides Sub Read( )
         Console.WriteLine("Overriding the Read method for Note!")
     End Sub
     Public Shadows Sub Write( )
         Console.WriteLine("Implementing the Write method for Note!")
     End Sub
 End Class
 Class Tester
     Public Shared Sub Main( )
         Dim theNote As Document = New Note("Test Note")
         If TypeOf theNote Is Printable Then
             Dim isNote As Printable = theNote
             isNote.Read( )
             isNote.Write( )
         End If
         Console.WriteLine(vbCrLf)
         theNote.Read( )
         theNote.Write( )
         Console.WriteLine(vbCrLf)
         Dim note2 As New Note("Second Test")
         If TypeOf note2 Is Printable Then
             Dim isNote2 As Printable = note2
             isNote2.Read( )
             isNote2.Write( )
         End If
         Console.WriteLine(vbCrLf)
         note2.Read( )
         note2.Write( )
     End Sub
 End Class
Creating document with: Test Note
Creating note with: Test Note
Overriding the Read method for Note!
Document Write Method for Printable
Overriding the Read method for Note!
Document Write Method for Printable
Creating document with: Second Test
Creating note with: Second Test
Overriding the Read method for Note!
Document Write Method for Printable
Overriding the Read method for Note!
Implementing the Write method for Note!