我什么时候应该使用多个构造函数?

时间:2014-06-27 21:44:06

标签: vb.net constructor

这两个选项有什么区别?

第一个选项 - 多个构造函数

Public Sub New(Some parameters)
    'Do somthing
End Sub

Public Sub New(Other parameters)
    'Do something
End Sub

在这种情况下,我们使用具有不同参数的多个构造函数来初始化不同的对象或以不同的方式创建类的实例。

第二个选项 - 使用可选参数

Public Sub New(Optional some values)
    'Do something
End Sub

在这种情况下,我们仅在我们想要分配它们时才使用Optional参数。通过使用此方法,我们可以控制要初始化的对象或创建它们的实例。

2 个答案:

答案 0 :(得分:1)

在第一种情况下,您正在使用方法重载来根据方法签名调用不同构造函数中的不同功能。该功能可能包括允许某些参数采用默认值。

希望某些参数是可选的并且您不希望在构造函数中调用不同的功能时,在构造函数中使用可选参数更合适,如果您不提供某些参数,则默认设置一些参数。

答案 1 :(得分:0)

我会说......

...构造函数重载在以下情况下使用:

可以使用不同的参数初始化类,但是整个参数的可能组合是有限的,并且它们是必需的,具体取决于可用的类初始化用例。

...在以下情况下使用可选参数:

可以使用某些参数初始化或不使用类。它们都不是强制性的,可以提供部分或全部,不会产生任何负面影响,具体取决于哪些参数已经接收到参数