注册 登录
编程论坛 VB6论坛

求教:类模块中定义的变量能否同自定义类型那样作为文件记录存取?

donholy 发布于 2015-06-03 10:50, 867 次点击
自学类模块中,菜鸟问题,但多种教材中都没有答案,自编程序不给通过,故此请教大侠们,谢谢赐教!
5 回复
#2
donholy2015-06-03 10:58
补充:测试程序
Dim test1 As New cls_Index
Open "AdmitRng.aaa" For Random As #1 Len = Len(test1)
        Put #1, , test1
Close 1

出错:
只有本站会员才能查看附件,请 登录
#3
风吹过b2015-06-03 11:15
写文件时,只能写入数据,不能写入对象。
所以,把一个类保存到文件中是不可能的。
      只能把类里面的数据保存到文件中。
#4
donholy2015-06-03 11:27
回复 3楼 风吹过b
这样看来类模块在数据操作上并没有自定义数据类型方便,怎么很多资料都说类是自定义数据类型的升级版呢?
#5
风吹过b2015-06-03 15:36
这话是我说的。

类,与结构。
结构是数据的组织方式
类是 数据的组织方式和方法

为什么要升级,这就是涉及到高级语言,面对 对象 编程了。
在 面对对象 编程中,所有的东西都是类(VB不完全是,典型的是JAVA)。

举个例子吧:
一个程序,有一个内部变量 N 。
现在 要求是:开放API,允许外部访问,但只允许符合条件的程序访问。这种情况在大型工程,多人协作项目中能出现。
如果N 定义为简单变量和结构时,允许外部访问时,只能是全局变量,但这时却无法达到允许符合条件控制。
如果N 定义为类里的私有对象,但定义一个访问方法,那么在外部访问时,调用这个方法,就能达到允许符合条件控制的情况。

有人说,我把N定义为模块私有对象,同时定义一个访问方法,那也能达到目标。
好吧,算你赢了一回。
模块与类的区别,类是把自己的方法封装到一起,而模块是全局的方法,是面对过程编程模型下的产物,VB只是继续支持罢了。
当有多个不同名字的N时,但这些N都是使用同样条件去控制访问时,
模块就无能为力了,而 类就可以很简单的 名字.方法 进行访问进行区分。

最后到了文件操作了。
这点上面,类的确无法与 结构相比。
写入文件和读取文件时,要求的简单变量或简单变量的组合,不能为对象。
#6
donholy2015-06-04 22:23
回复 5楼 风吹过b
明白了,谢谢版主!
1