Visual Basic.NET是Microsoft Visual Studio.Net套件中主要的组成部分之一。.Net版本的Visual Basic增加了更多特性,而且烟花为完全面向对象的编程语言。本文主要介绍VB.Net的新特性,并比较VB6.0和VB.Net之间的区别。
1、什么是VB.Net?
Microsoft推出全新的编程和操作系统Framework——.NET,支持多种语言利用公共.NET库开发应用程序,这些应用程序在.NET Framework上运行。使用Visual Basic在.NET Framework上编程,这就是VB.NET。
2、1.5 VB.NET有什么新特点?
VB.NET比 VB6.0更加稳定,而且完全面向对象。也许你还记得,VB6.0不支持继承、重载和接口,所以不是真正面向对象的。而VB.NET则支持这些面向对象特性。VB6.0有两个薄弱环节——多线程和异常处理。在VB.NET中,开发多线程应用和使用C++/C#别无二致,结构化异常处理也得到支持。稍后我们会详细解释这些特性。
VB.net是纯面向对象的开发语言,为了适应.net Framework的安全性,vb.net进行了不小的调整。但是关键字修饰符之类的基本没有什么变化,所以您只需要习惯.net下的强类型,应该是不难转型。
下面是VB.NET的特性列表—— ·面向对象的编程语言。支持继承、重载、接口、共享成员和构造器。·支持所有的CLS特性,如存取控制.NET类、与其它.NET语言交互、元数据、公共数据类型、委托等等。·多线程支持。·结构化异常处理。 1.6 名字空间与集合 前面讨论了我们的第一个VB.NET程序。该程序中首先引人注意的是名字空间(namespace)。在.NET参考文档中,你会发现每个类都归属于某个namespace。
3、那么,namespace到底是什么?
一个namespace是类和组件的逻辑组合,其目的在于将.NET class按类别定义。微软借用了C++ class packaging概念:namespace来描述这种组合。.NET Framework中的组件被称为集合(assembly)。全部.NET代码在数百个库文件(DLL)中定义。Namespace把assembly中定义的类组织起来。一个namespace可以包括多个assembly,一个assembly也可以在多个namespace中定义。 namespace树的根节点是System namespace。在.NET Library中,每个class都在一组相似的类别中定义。例如,System.Data namespace只包括数据相关类。同样,System.Multithreading只包括多线程类。 在使用.NET支持的语言(如C#、VB.NET、C++.NET等)创建新应用程序时,你会注意到每个应用程序都被定义为一个namespace,而所有的class都归属于这个namespace。通过引用这个namespace,其它应用程序就能存取这些class。 在.NET中,代码被编译为中间语言(Intermediate Language,IL),assembly中存储了IL代码、元数据和其它资源文件。同一个assembly可以附属于一个或多个Exe/DLL。所有的.NET库都存储在assembly中。
4、 VB.NET: 完全面向对象的编程语言抽象、封装、多态、继承是面向对象语言的四个基本属性。VB6.0不支持继承,而VB.NET则不然。所以,和C++一样,VB.NET也是完全面向对象的编程语言。
Class 和 ModuleVB.NET用Class…End Class语句对创建class。每个VB.NET至少包括一个Module(模块)。Module在Module…End Module语句对中实现。应用程序的主要模块是Main方法,亦即应用程序入口点。
和VB6.0相似的地方是,都可以使用Function/Sub关键字定义方法。
5、.VB6.0与VB.NET的不同之处除了上面谈到的语言进化,还有一些语法上的变化。所有这些语言和语法的变化在MSDN中均可查到,本文只作简单介绍。 数据类型(Data Type)的改变VB.NET中有些数据类型得到改进。下面是变化对照表。 数据类型 VB6.0 VB.NET Integer 16 bit size 32 bit size Long 32 bit size 64 bit size Currency 用于存储大浮点数 被decimal替代,支持更高精度 Variant 可以存储任意类型数据 被Object类型替代,也可以存储任意类型数据,但结果更好 Date Date类型被存储为double 引入DateTime类型,用于存储不同格式的日期 在VB.NET中,Short数据类型是16 bit的。Short,Integer和Long都等同于CLR的System.Int16、System.Int32和System.Int64类型。 变量声明的变化在VB6.0中,变量声明有许多限制。其中之一就是不能同行声明多个变量。如果一定要在一行中声明多个变量,就一定得指明每个变量的类型,否则将被默认为Variant类型。 6、继承继承是面向对象编程语言中最常用的技术。继承让你能够重用类代码和功能。 VB.NET支持继承,而VB6.0则不支持。继承的好处在于你能使用任何人编写的类,从这些类派生自己的类,然后在自己的类中调用父类功能。 7、IDE和VB.NET的语言特性:VB.Net 保留了VB6的基本编程方法,比如所见即所得的开发环境,单击窗体可以编程源代码等等。同时,在VB.Net中还引入了大量令人兴奋的变化,使VB成为。Net平台的主要开发工具。 这些变化主要包括: 新的IDE特性 完全的面向对象 改变的数据类型 名称空间的引入 结构化的错误处理 新的线程模型 语法上的其他变化