プロジェクトでインターフェースをもっと活用しようとしています。私がオンラインで見た多くの例は、興味深いものです (しかし役に立ちます)。以下のコードをご覧ください。
Public Class Animal
Implements Eatable
Public Overridable Sub Eat() Implements Eatable.Eat
MsgBox("Animal Eat no arguement")
End Sub
Public Overridable Overloads Sub Eat(ByVal food As String) Implements Eatable.Eat
MsgBox("Animal Eat food arguement")
End Sub
End Class
Public Class Horse
Inherits Animal
Implements Eatable
Public Overrides Sub Eat()
MsgBox("Horse Eat no arguement")
End Sub
Public Overloads Sub Eat(ByVal food As String)
MsgBox("Horse Eat food arguement")
End Sub
End Class
Public Interface Eatable
Sub Eat()
Sub Eat(ByVal localEat As String)
End Interface
Public Class Form1
Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TestFunction(1)
End Sub
Public Sub TestFunction(ByVal intTest As Integer)
Dim e1 As Eatable
If intTest = 1 Then
e1 = New Horse
Else
e1 = New Animal
End If
'Functionality specific to e1 from here
End Sub
End Class
私が TestFunction で行った方法、つまり intTest の値に応じて e1 を馬または動物としてインスタンス化する方法でポリモーフィズムを使用するのは悪い習慣であることをどこかで読みました。この場合、誰かがデザインパターンを推奨できますか?