VB.net:创建多个派生类对象之一以响应用户

时间:2018-10-15 15:02:48

标签: vb.net polymorphism

这似乎是一个非常容易回答的问题,但我似乎找不到任何明显的方法。

我有一个对象的基类,它有几个派生类,这里是ClassA和ClassB。我想从用户那里获取输入并创建一个由其响应确定的类型的对象。

但是我不能只是在Select Case中放入Dim语句,因为块作用域会立即杀死对象。

我想要的是

Select Case Input Case 1 Dim OutputObject as New ClassA() Case 2 Dim OutputObject as New ClassB() End Select

我一直觉得有一些明显的方法可以做到这一点,毕竟,对于整个多态性来说,这似乎很重要,但我似乎没有想到。

1 个答案:

答案 0 :(得分:1)

这称为Factory Method。看起来更像这样

Dim OutputObject as BaseClass

Select Case Input
Case 1
    OutputObject = New ClassA()
Case 2
    OutputObject = New ClassB()
End Select

返回基类的位置。