1.Implementor类
Public MustInherit Class Implementor
Public MustOverride Sub Operation()
End Class
2.ConcretelmplementorA和ConcretelmplementorB等派生类
Public Class ConcreteImplementorA
Inherits Implementor
Public Overrides Sub Operation()
Console.WriteLine("具体实现A的方法执行")
End Sub
End Class
Public Class ConcreteImplementorB
Inherits Implementor
Public Overrides Sub Operation()
Console.WriteLine("具体实现B的方法执行")
End Sub
End Class
3.Abstraction类
Public MustInherit Class Abstraction
Protected myImplementor As Implementor
Public Sub SetImplementor(ByVal im As Implementor)
Me.myImplementor = im
End Sub
Public MustOverride Sub Operation()
End Class
4.RefinedAbstraction类
Public Class RefinedAbstraction
Inherits Abstraction
Public Overrides Sub Operation()
myImplementor.Operation()
End Sub
End Class
5.客户端
Module Module1
Sub Main()
Dim ab As Abstraction = New RefinedAbstraction
ab.SetImplementor(New ConcreteImplementorA)
ab.Operation()
Console.WriteLine("--------------------------------")
ab.SetImplementor(New ConcreteImplementorB)
ab.Operation()
Console.Read()
End Sub
End Module