.net里面所有的内容都是类了,包括窗体也是类
创新互联公司-专业网站定制、快速模板网站建设、高性价比洪雅网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式洪雅网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖洪雅地区。费用合理售后完善,十多年实体公司更值得信赖。
Dim frmNew As Form1 即声明frmNew的类型是名为From1的类
frmNew = New Form1 为frmNew赋值,其值为Form1类的一个新的实例。也就是创建了一个窗体,这个窗体是你设计的from1的一个实例
new
就是实例化,比如实例化一个类,你才能访问,,
好比,你是张三,把你的地址告诉了我,我在能找到你家在哪,这个过程就可以称为实例化。
使用New关键字建立一个新的对象和用它属的类来定义是一样的。New关键字可以被用作来建立一个窗体、类模块以及集合的实例。用户在设计的时候建立的每一个窗体都是一个类。New关键字能够用来建立一个类的实例。
可以通过以下步骤来建立一个类的实例:
(1)在窗体上画一个按钮和几个其他的控件。
(2)按钮的Click事件过程加入以下代码:
Dim
x
AS
New
Form1
x.Show
(3)运行程序,并且点击几次按钮,把最前面的窗体移开,因为窗体是一个有可视界面的类,此时可以看见有很多窗体的拷贝,每一个窗体具有相同的控件,并且出现在一个地方。
(4)将列代码加到按钮的click事件过程中:
Dim
f
As
Form1
f=New
Form1
f.text="hello"
f.Show
使用New关键字可以从类模块中定义的类中建立一个新的集合和对象,要知道它们怎样工作,可以参考下面的例子:
(1)建立一个新的工程,并且在一个名为Form1的窗体上画一个按钮控件。
(2)在Project(项目)菜单下,选择"Add
Class"给工程添加一个类
(3)把新的类命名为ShowMe.VB
(4)在该新类中加入如下代码:
PUblic
Class
ShowMe
Sub
ShowFrm()
Dim
frmNew
As
Form1
frmNew=New
Form1
frmNew.Show()
frmNew.WindowState=1
End
Sub
End
Class
(5)在Button1_click事件的过程中加入如下代码:Protected
Sub
Button1_Click(Byval
sender
As
System.Object,_
Byval
AS
System.EventArgs)
Dim
clsNew
As
New
ShowMe()
clsNew.ShowFrm()End
Sub
运行程序,并且点击几次按钮,将看见每创建一个ShowMe类的新的实例时,在桌面上有一个最小化的窗体的图标。
New关键字只能用来建立一个类的对象,不能建立一个基于基本的数据类型的对象,例如Integer。而且,不能建立一个基于一个具体对象的对象。例如,下面的代码根据一个名为SomeClass的类,建立了一个名为Objx的对象,面后又错误地企图根据对象Objx再建立一个其他的对象:
Dim
Objx
As
New
SomeClass()
Dim
Objx
AS
New
Objx()
以上代码是非法的。
呵呵##~
顾名思义,new就是给变量赋值一个新的对象
dim不加new就是说变量是XX类型的,但它不是一个真正的XX对象。如果给这个变量赋值的话,实际上就是把某一对象的指针存到变量里,它依旧不是一个对象
一个普通的类,里面有一些数据,你要弄一个对象的话,需要初始化所有类中的数据并调用构造函数。这时候我们就用new了。如果你不用new,然后直接使用的话,会引发null异常
当然上面的讨论不包括Integer、String、Long这样的数值类型,这些不能用new
是这样的,VB.NET用的是.NET FRAMEWORK的类库,所以,在实例化一个对象的时候,要用NEW,因为框架底层都是类。实例化之后,才能使用。你把一个form窗体new了,分配了空间到托管堆上,然后才能show方法把窗体展示出来 没有new的,有两种,一个是静态类,一个是元数据类型。
Private Sql_Connect As New SqlClient.SqlConnection
直接实例化了
Private Sql_Connect As SqlClient.SqlConnection
没有实例化
需要在后面的代码中
set Sql_Connect = New SqlClient.SqlConnection
以进行实例化
实例化以后对象即有了意义
也会触发Class_Initialize事件
=====================================================
那好吧
dim a as Object
Set a= New SqlClient.SqlConnection
这样写其实也是可以的
但是这样在编程的时候不会显示SqlClient.SqlConnection的属性和方法列表
dim a as SqlClient.SqlConnection
只这样写的话在编程的时候会显示SqlClient.SqlConnection的属性和方法列表,但是在程序运行的时候并不会给这个对象分配内存空间和地址
Set a= New SqlClient.SqlConnection
在这句语句出现后程序才会给这个对象分配内存空间
dim a as new SqlClient.SqlConnection
则把以上两个功能简化处理,一步到位了,这样可能会分配不必要的内存空间给这个对象的
实例化一个对象使用New,实例化就是调用一次构造函数 比如:
Dim A As New TR(“dsdsd”) ‘若该TR对象的构造函数有参数ByVal s As String
A.fun() '使用一些公开方法,属性
如果仅仅是这样:
Dim A As TR
将不会执行构造函数,你将不能使用一些公开方法,属性
A.fun() ’错误
'--------------------
百度VB2010(VB.NET)吧建设发展中,需要你的支持和帮助!!!
快加入我们吧!发表你的疑问,经验,程序,分享..
让我们共同进步!