考虑以下示例:
Public Class ParentClass
Public Sub GenerateReport
Dim Col As Collection
Col = GetItemCollection()
End Sub
Public Overridable Function GetItemCollection() As Collection
GetItemCollection = New Collection
GetItemCollection.Add("1")
GetItemCollection.Add("2")
GetItemCollection.Add("3")
End Function
End Class
Public Class ExtendedClass
Inherits ParentClass
Public Overrides Function GetItemCollection() As Collection
GetItemCollection = New Collection
GetItemCollection.Add("A")
GetItemCollection.Add("B")
GetItemCollection.Add("C")
End Function
End Class
Public Sub Main()
Dim cls As New ExtendedClass
cls.GenerateReport()
End Sub
当Main()
调用cls.GenerateReport()
时,变量Col
是否是数字或字母的集合?我希望它会认识到cls
是ExtendedClass
的一个实例,并调用重写的方法并返回字母。
答案 0 :(得分:1)
当你覆盖方法时,它将是一组字母。但是,您在哪里宣布GetItemCollection
?你仍然需要一个实例变量。