検索可能な用語を提供するために、あなたが探しているのは、ポリモーフィズムを使用して戦略パターンを利用することです。
最も単純な場合、必要なのは、複数のクラスが継承する基本クラス(おそらく抽象的ですが、これらのVB用語はわかりません)を持つことです。これは、これらのクラス間の共通の機能を表す一種の高レベルの抽象化です。このようなもの:
Class Car
Overridable Sub Drive()
Throw New NotImplementedException
End Sub()
End Class
Class GasPoweredCar
Inherits Car
Overrides Sub Drive()
' logic for driving a gas-powered car
End Sub
End Class
Class SolarPoweredCar
Inherits Car
Overrides Sub Drive()
' logic for driving a solar-powered car
End Sub
End Class
等々。(この場合)達成しようとしている共通のことが1つありますDrive
が、複数の異なる実装が異なる方法でそれを達成するという考え方です。しかし、これらの実装はすべてまだCar
その時点であるため、それらをそのように扱うことができます(これがポリモーフィズムの出番です)。
したがって、GasPoweredCar
とのリストを作成する代わりに、両方を含むSolarPoweredCar
単一の結合リストを作成できます。関数を呼び出すだけで、車の種類Car
を知る必要はありません。Drive
For i As decimal = 0 To listOfCars.count - 1
listOfCars.Item(i).Drive
Next
またはもっと簡単に:
For Each car As Car In listOfCars
car.Drive
Next