#と忍空のようなタイトルにしてみた。
その1のコードをVBに直してみました。
Public Interface IRunBehavior
Sub Run()
End Interface
Public Class RunFastBehavior
Implements IRunBehavior
Public Sub Run() Implements IRunBehavior.Run
Console.WriteLine("速く走る!")
End Sub
End Class
Public Class RunBehavior
Implements IRunBehavior
Public Sub Run() Implements IRunBehavior.Run
Console.WriteLine("ふつうに走る")
End Sub
End Class
Public Class RunSlowBehavior
Implements IRunBehavior
Public Sub Run() Implements IRunBehavior.Run
Console.WriteLine("ゆっくり走る~")
End Sub
End Class
Public Class Human
Private _RunBehavior As IRunBehavior
Public Sub New()
_RunBehavior = New RunBehavior()
End Sub
Public Sub ParformRun()
_RunBehavior.Run()
End Sub
Public WriteOnly Property RunBehavior() As IRunBehavior
Set(ByVal value As IRunBehavior)
Me._RunBehavior = value
End Set
End Property
End Class
Public Shared Sub Main(ByVal args As String())
Console.WriteLine("よーい、スタート!")
Dim _human As New Human()
_human.ParformRun()
_human.RunBehavior = New RunFastBehavior()
_human.ParformRun()
_human.RunBehavior = New RunSlowBehavior()
_human.ParformRun()
Console.WriteLine("ゴール!")
Console.ReadLine()
End Sub
まあ、大して参考にもならんかもしれませんが。