vb点虐 控件重写 vbnet implements-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

vb点虐 控件重写 vbnet implements

vb点虐 的重写和重载是什么?

我们都知道,面向对象语言的三大特征是:封装、继承和多态。而重写和重载是多态的两种表现形式。多态,顾名思义,就是指多种形态。而重写和重载正好体现了这一点。现在我们以 VB.NET 语言来说明两者的区别。

创新互联建站自2013年创立以来,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元桦南做网站,已为上家服务,为桦南各地企业和个人服务,联系电话:18980820575

重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。

重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。

重写:

在 VB.NET 中,重写汲及到的关键字有:

OverRidable: 在父类中声明的可以在子类中重写的方法。

OverRides: 在子类中声明的要重写父亲中可重写的方法。

MustOverRide: 在父类中,表示这个方法必须在子类中重写。此时,该类必须声明为抽象类。

NotOverridable: 如果当前类还有子类,那么,在其子类中,该方法不允许被重写。

重载:

在 VB.NET 中,重载用到的关键是 OverLoads。

这里需要说明几点:

1. 对于在同一类当中,一组名称相同的方法或函数重载时,可以加关键字 OverLoads 或者不加。但如果其中有一个方法加上,那同组其它方法也必须加该关键字。

2. 如果该方法是重载父类中的方法。那么必须加 OverLoads 关键字。

3. 如果两个同名函数仅返回类型不相同,则它们不能重载,即必须在参数上有所不同。

vb点虐 如何重写函数?比如重写ToString。 Dim a As Integer = 1 MessageBox.Show(a.ToString) '重写……

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

End Sub

Public Overrides Function ToString() As String

If m = 1 And m = 12 Then

Return Choose(m, "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二") + "月"

Else

Return m.ToString

End If

End Function

End Class

VB点虐 重写KeyPress事件疑问

怎么会捏,你是不是没有加上mybase.keypress

正确的重写步骤:新建一个Component-类下面一行写上Inherits

TextBox-然后写入:

Protected

Overrides

Sub

OnKeyPress(ByVal

e

As

System.Windows.Forms.KeyPressEventArgs)

MyBase.OnKeyPress(e)'这个东东是原来的keypress执行的代码,它会引发keypress事件

'-----这里写代码

End

Sub

vb点虐 如何重绘Label控件?

新建一个Winform,在和Form1平行的位置粘贴如下代码

Public Class MyLabel Inherits Label Protected Overrides Sub OnPaint(e As PaintEventArgs) e.Graphics.DrawEllipse(New Pen(Color.Red), New Rectangle(2, 2, 10, 10)) MyBase.OnPaint(e) End Sub End Class

运行,停掉,在工具箱找到MyLabel,拖动就可以看到效果。这只是最基本的重写,要模仿QQ还需要其他技术以及美工。


当前名称:vb点虐 控件重写 vbnet implements
转载来于:http://kswsj.cn/article/ddjggeh.html

其他资讯