[em06][em06][em06]
我来说说一些概念上的问题,说到类,type,和Integer,这里首先要搞清楚一点,就是这三者都是属于数据类型的一种,Integer并不是类!
根据官方的解释,“数据类型指编程元素可以持有什么类型的数据以及如何存储该数据。数据类型应用于可以存储在计算机内存中或参与表达式计算的所有值。每个变量、文本、常数、枚举、属性、过程参数、过程变量和过程返回值都具有数据类型。”(http://msdn.microsoft.com/zh-cn/library/ffsdktda.aspx)
就目前为止,VB的数据类型包括以下类型(注意了,这是最新的解释,和VB6帮助里的即excel里的数据类型的解释并不太一样,而是扩展了很多,具体可以参考上面的网址):
1,基本数据类型:VB预先提供好给用户的,包括整数,非整数,String,Boolean、Date 和 Object。这种类型也是我们入门班所学的。
2,复合数据类型:除了 Visual Basic 提供的基本数据类型外,您还可以将不同类型的项组合起来以创建“复合数据类型”(如Structure结构、数组和类)。可以从基本类型和其他复合类型生成复合数据类型。
这里所说的“Structure”(结构)是VB升级到最新版本后,代替“Type”的产物(http://msdn.microsoft.com/zh-cn/library/1w657b98.aspx),功能比“type”强大,而我们excel2003用的是VB6,因此还没有“Structure”(结构)一说。
另外,没有一种数据类型包含所有类。虽然一个类可以从另一个类继承,但每一个类均为单独的数据类型。同一类的多个实例具有相同的数据类型。如果将一个类实例变量赋给另一个类,它们不仅具有相同的数据类型,还在内存中指向相同的类实例。
3,在最新的VB2008中,还出现了一个“泛型类型”,通过定义“泛型类”(也是类的一种)实现,因为不能用在的excel里,这里就不说了,有兴趣可以参考一下网址:http://msdn.microsoft.com/zh-cn/library/w256ka79.aspx
由于在最新的VB中,“type”已经被“Structure”(结构)取代,在微软MSDN里只提供了这类和结构之间的异同的详细解释:http://msdn.microsoft.com/zh-cn/library/2hkbth2a.aspx
对于“类”和“type”的关系,除了楼上几位的解释外,补充一下我的一些理解(更多的异同就不总结了):
1,他们都是一种复合数据类型,可以自定义,从而提供给变量使用,使变量可保存多个值
2,类所自定义的数据类型(对象)有更多的成员,如属性,事件,方法等
3,type可以包含实例化的类(对象),类也可以包含自定义的type
4,由于类可以自定义的成员比type更多,因此如爱疯所说,类的能力会更强大
[此贴子已经被作者于2010-2-28 0:49:50编辑过]