vb.net Overridable和Overrides,Overloads的使用

前端之家收集整理的这篇文章主要介绍了vb.net Overridable和Overrides,Overloads的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一,Overridable和Overrides

能重写和重写。是用在父类和子类中的。

如:父类:baseForm

Public Overridable Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
Debug.WriteLine("common: Button1_Click")
If MsgBox("確認",MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Button1_Do()
End If
End Sub

Public Overridable Function Button1_Do()
MsgBox("base=>Button1_Do")
Return ""
End Function

其中有事件和方法都是Overridable :可以重写的。

所以在子类中就可以这样:

函数Button1_Do加上Overloads 就被重写了。父类的Button1_Do内容就无效了。

同样:事件Button1_Click加上Overrides也被复写了。父类的Button1_Click内容就无效了。

需要注意的是:Handles Button1.Click不删除的话,会调用两次。

一次是父类重写,一次是自身激活。

Public Overloads Function Button1_Do()
MsgBox("subForm=>Button1_Do")
Me.Close()
Return "sub"
End Function

Public Overrides Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
Debug.WriteLine("sub: Button1_Click")
If MsgBox("確認",MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Button1_Do()
End If

End Sub

二,Overloads重载

在一个类中,同名的函数可以定义多次。只不过参数个数,类型,返回值不一致

猜你在找的VB相关文章