重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个是类的初始化方式。举个栗子
站在用户的角度思考问题,与客户深入沟通,找到城东网站设计与城东网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟主机、企业邮箱。业务覆盖城东地区。
public class a
private mCode as string
public sub new()
mCode = "123"
end sub
public sub new(byval code as string)
mCode = code
end sub
end class
使用这个类的时候
dim HaveA as new a("win")
dim HaveB as new a()
第一个情况,类中的变量mCode是“123”
第二中情况,类中的变量mCode是“win”
这个new就叫做类的构造函数。
这里看到了两个new,他们一个有参数,一个没有参数,这个叫做函数重载。
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
重构是一种程序结构上的改动,例如添加删除方法、改变参数等。
重写、重载则都是指面向对象中的虚函数的多态实现。
.NET2005编程环境中,有个菜单功能支持 C# 的重构。而vb.net则需要手动
你可以直接写Public Sub New(ByVal name As String, ByVal price As Double,byval haskdisk as boolean)
,但在写这句之前要先引用父类的构造函数, 就是加上一句怕你不明白,完整的写法就是这样:
mybase(name , price);
Public Sub New(ByVal name As String, ByVal price As Double,byval haskdisk as boolean) ;
这样就行了,希望我的回答可以帮助你!
同一个类中多次声明相同名字的方法,每次声明时都是不同的参数列表。方法重载主要是为了实现同一个功能,而使用统一的方法处理不同的数据类型。它是多样性在同一类中的一种表现。而且方法重载时,可以使用不同的作用域关键字比如使用public、或者使用friend。
方法重载必须满足以下三点:
1、方法重载时需要加入关键字OVERLOADS
2、方法的名称必须相同。
3、方法的参数必须不同,这里的不同分三种情况:
a、参数个数不同,类型无限制;
b、参数个数相同,但是参数类型不同;
c、参数个数和类型都相同,但是参数的顺序不同
我们都知道,面向对象语言的三大特征是:封装、继承和多态。而重写和重载是多态的两种表现形式。多态,顾名思义,就是指多种形态。而重写和重载正好体现了这一点。现在我们以 VB.NET 语言来说明两者的区别。
重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。
重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。
重写:
在 VB.NET 中,重写汲及到的关键字有:
OverRidable: 在父类中声明的可以在子类中重写的方法。
OverRides: 在子类中声明的要重写父亲中可重写的方法。
MustOverRide: 在父类中,表示这个方法必须在子类中重写。此时,该类必须声明为抽象类。
NotOverridable: 如果当前类还有子类,那么,在其子类中,该方法不允许被重写。
重载:
在 VB.NET 中,重载用到的关键是 OverLoads。
这里需要说明几点:
1. 对于在同一类当中,一组名称相同的方法或函数重载时,可以加关键字 OverLoads 或者不加。但如果其中有一个方法加上,那同组其它方法也必须加该关键字。
2. 如果该方法是重载父类中的方法。那么必须加 OverLoads 关键字。
3. 如果两个同名函数仅返回类型不相同,则它们不能重载,即必须在参数上有所不同。