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

VB.NET多态性实现

发布时间:2020-12-16 23:00:11 所属栏目:大数据 来源:网络整理
导读:1. OverLoads :原现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同 (C# 方法重载 ) 。 2. Overrides :在派生类中重写基类成员 (VB.NET 中在基类中声明为 Overridable 的方法才可以在派生类中用 Overrides 关键字重写 )(C#Override , C# 中

1. OverLoads:原现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同(C#方法重载)

2. Overrides:在派生类中重写基类成员(VB.NET中在基类中声明为Overridable的方法才可以在派生类中用Overrides关键字重写)(C#OverrideC#中只有AbstactVirtual方法才可以在派生类中重写)

3. Shadows:隐藏基类中的同名元素(C#new)

Module Module1

Sub Main()

cls.a()

cls.a(2)

Dim clsApp As TheShadow = New TheShadow()

clsApp.b() 'TheShadow类中隐藏基类中的b方法

Dim clsSamp As New TheInherited

clsSamp.b() 'TheInherited类中重写的b方法

Console.ReadLine()

End Sub

Class cls

Public Overloads Shared Sub a()

Console.WriteLine("无参数方法a")

End Sub

Public Overloads Shared Sub a(ByVal i As Integer)

Console.WriteLine("重载无参数方法a,输入参数{0}",i)

End Sub

End Class

Class TheBase

Public Overridable Sub b()

Console.WriteLine("基类可重写方法b")

End Sub

End Class

Class TheInherited

Inherits TheBase

Public Overrides Sub b()

MyBase.b() '使用MyBase关键字访问基类方法

Console.WriteLine("派生类重写基类方法b")

End Sub

End Class

Class TheShadow

Inherits TheInherited

Public Shadows Sub b()

Console.WriteLine("在派生类中使用Shadows关键字覆盖基类同名方法b")

End Sub

End Class

End Module

(编辑:李大同)

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

    推荐文章
      热点阅读