我寫了一個簡單的程序來計算線性序列中的前5個數字。該程序最初是順序涉及Main()中的一個子來執行計算。然而,作爲一個相對的編程初學者,我試圖發展我對面向對象編程的理解,因此,作爲一項挑戰,我決定相應地重新編寫程序。正如你將從下面的代碼中看到的,我遇到了一個小問題,我希望你們中的一些人能夠幫助我。Public Function vs Public Sub
通過使用公共子我可以通過在Main()中創建類的新實例並調用GetSequence來執行所需的任務...沒有問題。但是,我不喜歡在Class中使用Console.Write行的想法。糾正我,如果我錯了,但這不會否定創建類的真正目的,因爲它會消除其動態功能?
因此,作爲替代方法,我試圖在公共函數中執行相同的計算,但不幸的是,在for循環中無法識別返回值。我確信有一種解決方法......我錯過了一些顯而易見的東西,但我看不到它。
任何幫助,一如既往,最讚賞。
Public Class Sequence
Public Property a As Integer
Public Property b As Integer
'Using Public Sub does the job, but it means using a
'Console.Write within the Sequence class, which I'm
'not too happy about.
Public Sub GetSequence()
For n = 1 To 5
Console.Write("{0}, ", a * n + b)
Next
End Sub
'I'd prefer to use a Public Function, but how do I
'return the value of the function through each iteration
'of the 'for' loop?
Public Function GetSequence(ByVal a As Integer, ByVal b As Integer)
For n = 0 To 5
Return a * n + b
Next
End Function
Public Sub New(ByVal a As Integer, ByVal b As Integer)
Me.a = a
Me.b = b
End Sub
End Class
感謝您的幫助瑞恩。正如在前面的評論中提到的那樣,解決問題的新概念對於初學者來說非常重要。我沒有遇到你提到的'選擇嚴格'程序,但這就是學習的內容。我會研究它,並再次感謝瑞恩,最感謝。 – Mike