加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net Overridable和Overrides,Overloads的使用

发布时间:2020-12-16 22:48:48 所属栏目:大数据 来源:网络整理
导读:一,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"

一,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重载

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读