作者liunate (測試)
看板C_Sharp
標題抽象類別一問
時間Thu May 26 21:17:28 2005
我看過MISOO放在網站上關於抽象類別的教學,在活用抽象類別最後提到抽象類別
還具有提供預設程序的功用,同時用下面的程式來展示。
Person是基礎結構的抽象類別,Customer inherits Person, VIP inherits Customer
根據教學文件中的輸出結果會有
Customer: Mr. White
TEL: 888-2222
但是我看VIP類別有override Customer類別的Display() 怎麼還會使用到Customer.Disp
ay()的內容呢? 預設程序不是要在子類別無override父類別的程序,這樣的情況下才
成立嗎?
還請各位解惑了 (._.?)
Class Person
Protected name As String
Public Sub New(ByVal na As String)
name = na
End Sub
Public Overridable Sub Display()
End Sub
End Class
Class Customer
Inherits Person
Public Sub New(ByVal na As String)
MyBase.New(na)
End Sub
Public Overrides Sub Display()
MessageBox.Show("Customer: " + name)
End Sub
End Class
'-------------------------------------------------------------------------------
Class VIP
Inherits Customer
Private tel As String
Public Sub Newe(ByVal na As String, ByVal t As String)
MyBase.New(na)
tel = t
End Sub
Public Overrides Sub Display()
MessageBox.Show("TEL: " + tel)
End Sub
End Class
Protected Sub Form1_Click(ByVal sender As Object, ByVal e As
System.EventArgs)
Dim v As New VIP("Mr. White", "8888-2222")
v.Display()
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.98.216
→ liunate:順便問 誰有MISOO線上教材關於介面的? 211.74.98.216 05/26
→ liunate:網路上擺的是空壓縮檔 XD 感恩再感恩 211.74.98.216 05/26
推 tomex:看起來vip很正常呀,它override customer的display 60.248.89.46 05/27
→ liunate: = =? override之後 不是會蓋過父類別的方法? 211.74.92.159 05/27
推 yydon:跑一遍看看不就知道了 203.217.101.77 05/27