Class Module VB.Net Tutorial

Imports System
 Interface Printable
     Sub Read( )
     Sub Write(ByVal obj As Object)
     Property Status( ) As Integer
 End Interface 'Printable
 Interface Zippable
     Sub Zip( )
     Sub Unzip( )
 End Interface 'Zippable
 Interface Zippable2 
 Inherits Zippable
     Sub Email( )
 End Interface 
 Public Class Document 
 Implements Zippable2, Printable
   Public Sub New(s As String)
     Console.WriteLine("Creating document with: {0}", s)
 End Sub
     Public Sub Read( ) Implements Printable.Read
     Console.WriteLine("Implementing the Read Method for Printable")
     End Sub 'Read
     Public Sub Write(ByVal o As Object) Implements Printable.Write
         Console.WriteLine( _
               "Implementing the Write Method for Printable")
     End Sub 'Write
     Public Property Status( ) As Integer Implements Printable.Status
         Get
             Return myStatus
         End Get
         Set(ByVal Value As Integer)
             myStatus = Value
         End Set
     End Property
     Public Sub Zip( ) Implements Zippable.Zip
         Console.WriteLine("Implementing Zip")
     End Sub
     Public Sub Unzip( ) Implements Zippable.Unzip
         Console.WriteLine("Implementing Unzip")
     End Sub
     Public Sub Email( ) Implements Zippable2.Email
         Console.WriteLine("Implementing Email")
     End Sub 
     Private myStatus As Integer = 0
 End Class 'Document
 Class Tester
     Shared Sub Main( )
         Dim doc As New Document("Test Document")
         If TypeOf doc Is Printable Then
             Dim isDoc As Printable = doc
             isDoc.Read( )
         Else
             Console.WriteLine("Could not cast to Printable")
         End If
         If TypeOf doc Is Zippable2 Then
             Dim ilDoc As Zippable2 = doc
             Console.Write("Calling both Zippable and ")
             Console.WriteLine("Zippable2 methods...")
             ilDoc.Zip( )
             ilDoc.Email( )
         Else
             Console.WriteLine("Could not cast to Zippable2")
         End If
         If TypeOf doc Is Zippable Then
             Dim icDoc As Zippable = doc '
             Console.WriteLine( _
                "Treating the object as Zipible... ")
             icDoc.Zip( )
         Else
             Console.WriteLine("Could not cast to Zippable")
         End If
     End Sub
 End Class
Creating document with: Test Document
Implementing the Read Method for Printable
Calling both Zippable and Zippable2 methods...
Implementing Zip
Implementing Email
Treating the object as Zipible...
Implementing Zip