Vb.net 初学者级别:如果Objectvariable引用实例会怎么样?
如果在理解以下代码的第二行时遇到问题:Vb.net 初学者级别:如果Objectvariable引用实例会怎么样?,vb.net,Vb.net,如果在理解以下代码的第二行时遇到问题: Dim locSecondClass As New SecondClass Dim locFirstClass As FirstClass = locSecondClass Public Class FirstClass Public Overridable Function aFunktion() As String Return "First Class" End Function End Class Public
Dim locSecondClass As New SecondClass
Dim locFirstClass As FirstClass = locSecondClass
Public Class FirstClass
Public Overridable Function aFunktion() As String
Return "First Class"
End Function
End Class
Public Class SecondClass
Inherits FirstClass
Public Overrides Function aFunktion() As String
Return "Second Class"
End Function
End Class
什么是头等舱?如果其类型为
FirstClass
,但locSecondClass
被复制到其中?继承第一类
是否也复制到本地第一类
?如果类SecondClass
的函数/方法在FirstClass
中不存在,会发生什么情况?FirstClass
是SecondClass
的基类。
在
FirstClass
(非私有)中可用的东西在SecondClass
中不可用,这种情况永远不会发生 不涉及复制,而是locFirstClass引用与locSecondClass相同的实例。然而,locFirstCLass只知道它正在引用一个FirstClass,所以只能调用FirstClass上存在的方法
但是,当一个unktion被声明为可重写时,程序在运行时确定对象的实际类型,并在本例中调用该方法,返回“第二类”