十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个是类的初始化方式。举个栗子
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟主机、营销软件、网站建设、江源网站维护、网站推广。
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,他们一个有参数,一个没有参数,这个叫做函数重载。
首先你是怎么重写结构的Sub New的呢?不会有这个错误吗:“结构无法声明没有参数的非共享“Sub New”?
结构是值类型,和类不一样,不一定要有构造函数。直接
Dim B(2) As A
如果有一个含参数的Sub New(i As Integer)
Dim B() As A={New A(1), New A(2)}
有时要初始化很多个的时候可以用循环
Dim c As Integer = 50
Dim B(c) As A
For i = 0 To c
B(i) = New A(i)
Next
不过这样是对变量重新赋值,这种方法用在类上比较好。
看看这个有帮助哦:
顾名思义,new就是给变量赋值一个新的对象
dim不加new就是说变量是XX类型的,但它不是一个真正的XX对象。如果给这个变量赋值的话,实际上就是把某一对象的指针存到变量里,它依旧不是一个对象
一个普通的类,里面有一些数据,你要弄一个对象的话,需要初始化所有类中的数据并调用构造函数。这时候我们就用new了。如果你不用new,然后直接使用的话,会引发null异常
当然上面的讨论不包括Integer、String、Long这样的数值类型,这些不能用new
实例化一个对象使用New,实例化就是调用一次构造函数 比如:
Dim A As New TR(“dsdsd”) ‘若该TR对象的构造函数有参数ByVal s As String
A.fun() '使用一些公开方法,属性
如果仅仅是这样:
Dim A As TR
将不会执行构造函数,你将不能使用一些公开方法,属性
A.fun() ’错误
'--------------------
百度VB2010(VB.NET)吧建设发展中,需要你的支持和帮助!!!
快加入我们吧!发表你的疑问,经验,程序,分享..
让我们共同进步!