End Sub
#Region " Windows Form Designer generated code "
.......
#End Region
Protected Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim r As New MyRoom()
MessageBox.Show(r.GetID())
End Sub
End Class
此程序输出﹕
RoomID: VIP888
一般使用委托(Delegation)来代替继承时,常用的手法。然而上述ex08.bas程序的MyRoom类别里面用到了Room名称,如果您不希望如此,可定义一个IRoom接口,供MyRoom类别使用,如下程序:
''''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
此程序输出﹕
RoomID: VIP888
Room类别里面没用到MyRoom名称,而且MyRoom类别里没有用到Room名,因此两个类别可独立设计。这是分布式组件软件,如MTS(Microsoft transaction server)等系统里的常用手法。n
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




