Re: [.NET] 有沒有詳細講VB 2005 OOP部分的書?

看板Visual_Basic作者 (antitheist)時間19年前 (2006/11/05 14:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)

我知道沒有type了,我不懂的是相同的效果如何達成
VB6的type我只知道意思,沒實際用過,以下有錯請指教 如過要在.NET達到相同的功能,可以用class和運算子多載完成, 雖然意義上不太相同,但是功能上應該ok吧 例如VB6的type製造一個complex type: Type Complex r As Double i As Double End Type 在.NET中可以建立一個complex class: Class Complex Public real As Integer Public imaginary As Integer End Class 然後你可以把Complex當成一個新的type來用: Dim num,num2 As Complex num.real=4 num.imaginary=3 ... 如果要讓Complex能和一般的資料型別一樣可以值接運算, 而不是 num.real+num2.real這樣,可以在class用 運算子多載: Class Complex Public real As Integer Public imaginary As Integer '+的運算子多載 Public Shared Operator +(ByVal c1 As Complex,ByVal c2 As Complex) As Complex Return New Complex(c1.real + c2.real, c1.imaginary + c2.imaginary) End Operator '這是Complex的建構子 Public Sub New(ByVal real As Integer, ByVal imaginary As Integer) Me.real = real Me.imaginary = imaginary End Sub End Class 這樣兩個Complex物件就可以直接相加:num1+num2 差不多就是這樣吧.... 不過以上的寫法會有很多問題,而且一些class的東西沒有 全部寫出來,詳細的資料就要看.NET/2005的書了 -- 樹大有枯枝,人多有白痴 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.122.199

11/06 09:02, , 1F
可以用 Structure 宣告以前VB6的 type
11/06 09:02, 1F
文章代碼(AID): #15JNzURi (Visual_Basic)
文章代碼(AID): #15JNzURi (Visual_Basic)