Interface Inherits Interface : Interface « 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








6.44.Interface
6.44.1.Implement Interface
6.44.2.Interface with two methods
6.44.3.One Class implements two interfaces
6.44.4.Interface Inherits Interface
6.44.5.Interface with Property
6.44.6.Inheritance And Interfaces
6.44.7.Reimplement interface
6.44.8.Public Sub aMethod() Implements Interface1.Method, Interface2.Method
6.44.9.Two classes implement one interface
6.44.10.Implements two interfaces and WriteOnly Property