VB.NET 只允許類別的單一繼承,即衍生類別只能有一個基底類別(父類別),雖不能多重繼承但類別可以實作多重介面。
Overidable 修飾詞:表任何衍生類別都可以複寫此方法並定義自己的實作。
MustOveride 關鍵字:表任何衍生類別都必須複寫此方法。
Overides 修飾詞:表任複寫定義於基底類別的方法。
建立衍生類別的執行個體
myCustomer 物件可以
可存取基底類別 Customer 的任何公用屬性與方法
可存取衍生類別 GovCustomer 的任何屬性與方法
可存取衍生類別 GovCustomer 所覆寫的任何屬性與方法
此作法可以允許任何型別的 Customer 物件被定義並能善用多型 Polymorphism
myCustomer 物件可以
可存取基底類別 Customer 的任何公用屬性與方法
不可存取衍生類別 GovCustomer 的任何屬性與方法
可存取衍生類別 GovCustomer 所覆寫的任何屬性與方法
Public Class Customer .... Public Overridable Function CalcDiscount ( ByVal dAmt As Decimal) As Decimal Return dAmt End Function End Class |
MustOveride 關鍵字:表任何衍生類別都必須複寫此方法。
Public Class GovCustomer : Inherits Customer Public Sub New () MyBase.New () End Sub Public Overrides Function CalcDiscount ( ByVal dAmt As Decimal) As Decimal Dim newAmt As Decimal newAmt = dAmt * CDec(0.9) Return newAmt End Function End Class |
建立衍生類別的執行個體
Private myCustomer As GovCustomer myCustomer = New GovCustomer |
可存取基底類別 Customer 的任何公用屬性與方法
可存取衍生類別 GovCustomer 的任何屬性與方法
可存取衍生類別 GovCustomer 所覆寫的任何屬性與方法
Private myCustomer As Customer myCustomer = New GovCustomer |
myCustomer 物件可以
可存取基底類別 Customer 的任何公用屬性與方法
不可存取衍生類別 GovCustomer 的任何屬性與方法
可存取衍生類別 GovCustomer 所覆寫的任何屬性與方法
全站熱搜
留言列表