在任意form类或模块中都可以创建类,跟建立函数和过程一样。
在新吴等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站制作 网站设计制作定制开发,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,成都外贸网站建设公司,新吴网站建设费用合理。
示例:
public class form1
‘创建一个属于form的子类,名称为【类名】。
public class 类名
’定义类成员text
public text as string
end class
‘定义一个【类名】类的公共变量。
dim 类名1 as 类名
’定义一个过程,使用【类名】类的text成员
public sub 过程
‘实例化【类名1】
类名1=new 类名
类名1.text=“赋值”
’定义一个【新类】类的私用变量,并实例化。
dim 新类1 as new 新类
新类1.name=“一个字符串”
新类1.age=12
end sub
end class
‘’‘创建一个与form同级的类,名称为【新类】
public class 新类
public sub new()
end sub
public name as string
public age as integer
end class
在模块中使用:
public class module1
dim a as new form1.类名
end module
可以使用 New 关键字对类进行实例化,如
Dim frmDemo As New Form1
实例化几次产生几个, 无主的对象会被cg回收(除非有特殊情况,则造成内存泄漏)
最后1次的对象可通过变量进行管理,并且在生命周期内不会被回收
1.不正确
Dim abc As myClass,定义一个可以引用myClass类型对象的变量abc。这个abc变量存在于栈上。
abc=New myClass。New myClass创建myClass实例对象,这个对象存在于托管堆上。然后(同时)让abc引用(指向)这个对象。
abc变量在栈上,而对象在托管堆上。
abc储存的是对象的地址,而不是对象本身。
看下面的代码
Dim a As myClass,b As myClass,c As myClass
a=New myClass
b=a
c=a
整个过程中只创建了一个myClass对象,位于托管堆上。
三个myClass类型的变量a、b、c位于栈上,都指向了这一个myClass对象
2.类的成员分 实例成员 和 静态成员
实例成员 必须在实例对象上调用
静态成员 可以直接调用,不需要实例对象。
Dim a As fomr1
只是定义了一个form1类型的变量
Dim a As new fomr1
定义了一个form1类型的变量并将其实例化
Dim a AS new textbox
定义了一个textbox类型的变量并将其实例化