当前位置: 代码迷 >> VB Dotnet >> [vb.net2013]使用基类中的访问方式有关问题
  详细解决方案

[vb.net2013]使用基类中的访问方式有关问题

热度:127   发布时间:2016-04-25 02:14:47.0
[vb.net2013]使用基类中的访问方式问题

Class baseClass
    Public Overridable Sub testMethod()
        MsgBox("Base class string")
    End Sub
    Public Sub useMe()
        ' The following call uses the calling class's version, even if 
        ' that version is an override.
        Me.testMethod()
    End Sub
    Public Sub useMyClass()
        ' The following call uses this version and not any override.
        MyClass.testMethod()
    End Sub
End Class
Class derivedClass : Inherits baseClass
    Public Overrides Sub testMethod()
        MsgBox("Derived class string")
    End Sub
End Class
Class testClasses
    Sub startHere()
        Dim testObj As derivedClass = New derivedClass()
        ' The following call displays "Derived class string".
        testObj.useMe()
        ' The following call displays "Base class string".
        testObj.useMyClass()
    End Sub
End Class



访问基类中的重写过程testMethod时,为什么不用声明
  Dim cla1 As New baseClass
        cla1.testMethod() 这样直接访问吗

 下面这样写过程后再访问testMethod()有什么意义,
为什么要经过useMyClass过程访问testMethod()呢?
Public Sub useMyClass()
        ' The following call uses this version and not any override.
        MyClass.testMethod()
    End Sub





------解决方案--------------------
引用:
Quote: 引用:

MyBase  ??

文章中说<<MyBase  是关键字,而不是真实对象。  MyBase  不能指派给变量,不能传递给过程,也不能在 Is 比较中使用。>>

 其中MyBase  不能指派给变量,不能传递给过程,也不能在 Is 比较中使用。----这个说法我不明白这是什么情况下的。


look 一下:
http://bbs.csdn.net/topics/70243992