''''ex09.bas Imports System.ComponentModel Imports System.Drawing Imports System.WinForms ''''---------------------------------------------------- Interface IMyRoom Function yourID() As String End Interface
Interface IRoom Function GetID() As String Sub Connect(ByVal m As IMyRoom) End Interface
Class Room Implements IRoom Private motherObject As IMyRoom
Public Function GetID() As String Implements IRoom.GetID GetID = motherObject.yourID() + " ***" End Function Public Sub Connect(ByVal m As IMyRoom) Implements IRoom.Connect motherObject = m End Sub End Class
Class MyRoom Implements IMyRoom Private base As IRoom
Public Sub Connect(ByVal r As IRoom) base = r r.Connect(Me) End Sub Public Function yourID() As String Implements IMyRoom.yourID yourID = "Dog888" End Function Public Function GetID() As String GetID = base.GetID() End Function End Class ''''---------------------------------------------------- Public Class Form1 Inherits System.WinForms.Form
Public Sub New() MyBase.New() Form1 = Me ''''This call is required by the Win Form Designer. InitializeComponent() ''''TODO: Add any initialization after the InitializeComponent() call End Sub ''''Form overrides dispose to clean up the component list. Public Overrides Sub Dispose() MyBase.Dispose() components.Dispose() End Sub #Region " Windows Form Designer generated code " ....... #End Region
Protected Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim my As New MyRoom() Dim base As New Room() my.Connect(base) MessageBox.Show(my.GetID()) End Sub End Class