我们都知道,面向对象语言的三大特征是:封装、继承和多态.而重写和重载是多态的两种表现形式.多态,顾名思义,就是指多种形态.而重写和重载正好体现了这一点.现在我们以 VB.NET 语言来说明两者的区别.
重写是发生在父类与子类之间的关系.具体来讲就是子类可以重写父类的现有的方法.它要求子类的方法名称及参数必须与父类完全一致.比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗.
重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别.其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同.需要说明的是,重载同样可以应用到父类与子类当中.即子类重载了父类的方法.
重写:
在 VB.NET 中,重写汲及到的关键字有:
OverRidable: 在父类中声明的可以在子类中重写的方法.
OverRides: 在子类中声明的要重写父亲中可重写的方法.
MustOverRide: 在父类中,表示这个方法必须在子类中重写.此时,该类必须声明为抽象类.
NotOverridable: 如果当前类还有子类,那么,在其子类中,该方法不允许被重写.
重载:
在 VB.NET 中,重载用到的关键是 OverLoads.
这里需要说明几点:
① 对于在同一类当中,一组名称相同的方法或函数重载时,可以加关键字 OverLoads 或者不加.但如果其中有一个方法加上,那同组其它方法也必须加该关键字.
combobox弹出的框增加图标吗?个人看法可能需要得到那个句柄,才可以重绘,但那个好像是一体的,不知道能不能弄到句柄.
textbox可以自定义高度.只是以行高度为单位,改变字体大小即可,没必要重写吧.
我也自学,感觉基础容易学,进阶资料少.循序渐进也没序可循,基本是在摸索.
都是想到什么问题,就立下一个目标,然后攻破他,结果可能是尝试几天后,发现目标超出能力范围.
晦涩是相对的,实践出真知,多动手,基础就好了.
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim a As New month(1)
MessageBox.Show(a.ToString)
End Sub
End Class
Public Class month
Dim m As Integer
Public Sub New(i As Integer)
m = i
Public Overrides Function ToString() As String
Return Choose(m, "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二") + "月"
Else
Return m.ToString
End If
End Function
以上就是土嘎嘎小编为大家整理的重写属性vb.net相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!