Re: [.NET] 有沒有詳細講VB 2005 OOP部分的書?
→
,
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
11/06 09:02, 1F
討論串 (同標題文章)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章
26
79