从VB6 到VB.net 2005(一)

来源:互联网 发布:秀才权限管理系统源码 编辑:程序博客网 时间:2024/05/22 14:01

最近由于想给自己的wm5写个小程序,没办法终于碰了一直不想用的.net系列。整体上从.net 2005的vb看来,ms终于恢复了vb的一些特色——程序员更多的关注自身程序功能而不是windows程序结构。这里做些比较性的介绍,说说我自己的心得。

一、编程性

vb6的成功更多的在于程序员可以专心关注自己程序的内部功能,不需要考虑太多的win结构,比如消息映射等操作。只要在相应事件写上处理代码即可。现在的vb.net 2005 仍可以以此思路编程,其他的东东均由系统完成。不同之处在于,以前一个form的代码页是一个个程序function 或者sub 的集合。而现在的form代码页本身就是一个form类。组织形式在form类中仍然和原来相同。

 二、类

vb.net 2005 的类更符合oop的习惯,重载,继承等等一个不少,实在是比以前的类结构用的舒服多了。

三、函数
vb6使用函数有几种方法,1 内置的方法 2 引用类,创建该类的对象,然后使用对象的方法。而vb.net 2005 系统内置的函数还是比较少的,可以说几乎没,大多数都使用.net 库。而.net 库函数使用方面有2种方式,一种方式类似于vb6时代,引用一个类,创建该类的对象,然后调用该对象的方法。另一种方式,被称之为share方式。大致可以这么理解。
假设一个类为ClassA,该类主要作用就是读取文件,返回相关内容,其中有2个方法,F1,F2
假设两个方法均是提供一样的功能,返回文件大小现在定义如下: F1() as long ,F2(Filename as string) as long ,假设,F1返回的是类初始化定义的关联文件的文件大小,而F2则是返回参数中FileName 的大小。F1要返回值,那么需要申明一个对象,将Filename赋值给这个对象的相关属性,再通过F1获得文件大小。但是F2不需要,直接从参数就可以获得相关参数,故ms将这些定义为shared方法,在.net类库中提供的大量的这种shared方法,有效的将这些函数分类好。shared方法很简单,只要将.net的类库imports进去,就可以像用函数一样用这些方法。
上例中,如果我们要使用F1,则需要 Dim obj1 as New ClassA 创见一个对象,然后将FileName赋值给obj1里面的某个属性,然后使用obj1.f1()获得文件大小。但是如果使用F2, 则可以直接使用ClassA.F2(Filename) 获得文件大小。由于引用的Class多,每次写ClassA. 很麻烦,那么就在Form类之前 imports ClassA 那么在之后使用F2,只需要直接写F2(Filename) 就可以了,有点类似以前的with x end with ,但是使用更方便。

发现上面例子太罗嗦

Public Class MyClass
   public Function MyFC(st as string ) as long
   end function
   shared function myfc2(st as string )as long
   end function
End Class

比如上面的myclass类,如果你要用myfc,你需要先
dim myobj as myclass
msgbox  myobj.myfc(st)
而你要调用myfc2那么就简单了
只需要写
msgbox myclass.myfc2(st)就ok了。
或者更狠点
imports myclass
msgbox myfc2(st)
这里的共享方法就可以类比为以前的函数,只是帮这些函数分类放在不同的类库里面而已。

未完待续。。。。

原创粉丝点击