类的用户是否应该直接调用 new



或者他们应该做这样的事情

   Public Shared Function createOrders(ammount As String, base As String, quote As String, exchange As ExchangesClass, time As String, price As String, id As String, sellinginsteadofbuying As String) As OrdersAtExchange
        Dim a = New OrdersAtExchange
        a._ammount = Val(ammount)
        a._exchangeObject = exchange
        a._base = base
        a._quote = quote
        a._time = Date.Parse(time)
        a._price = Val(price)
        a._id = id
        a._market = CoinClass.MarketBaseQuoted(exchange.Exchange, base, quote)
        If a._market Is Nothing Then
            Dim b = 1
        End If
        a._isSellingInsteadOfBuying = sellinginsteadofbuying.ToLower.Trim = "sell"
        Return a
    End Function

基本上,我看到的程序不使用new,而是使用createObject函数。它是共享的。

我有点看这是个好主意。我想知道在哪里。

在 vb.net 中使用 new 有点复杂,因为一个新函数可能需要调用另一个新函数。此外,一些变量被"初始化"。有些是在函数中设置的。

使用该共享创建对象似乎可以消除该问题。

但这真的是个好主意吗?

我想我记得objective-c也做过这种事情。

类用户使用共享函数或创建新对象完全取决于类的目标。

使用共享函数创建实例有点类似于为类实现构造函数以设置其状态。

使用

共享类时的某些方案将是。
1.当您不想将外部世界用于类的对象创建时。
2.当您始终希望类的对象在创建时具有特定状态时。
3. 共享函数也可以在单例设计模式实现的情况下使用。

同样,如果您希望用户完全控制类的对象创建并分配其状态,则可以允许使用 new 关键字创建对象。

拥有一个始终处于安全状态的类总是一个好主意,并且可以通过共享函数实现任何给定的时间点。

希望这对!!有所帮助

最新更新