一、介绍
Visual Basic.NET是基于微软。.NET Framework之上的面向对象上的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。编译以后生成的可执行文件被称为Assembly,即程序集。版本号是VisualBasic7.0,它的运行是建立在CLR(CommonLanguageRuntime)和MSIL(MicrosoftIntermediateLanguage)虚拟器上的。其实,它的机制和Java类似。
二、特点
1.真正成为面向对象以及支持继承性的语言。
2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。
3.直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其他的.NET语言交互。
4.为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。
三、语言特点
1.代码托管。被托管的代码享受.netframework提供的安全保障和垃圾回收机制,但是这也同时表明,你的程序被框在Framework里面了。API变得不太方便。
2.强大的面向对象特性。现在VB7已经是一个完全的面向对象程序。
3.功能强大,程序界面更标准。
4.程序代码结构化更强,开发环境舒适体贴。
四、与VB.6.0区别
1、VB6
Visual Basic是Windows环境下的一种简单、易学的编程语言,由于其开发程序的快速、高效,深受程序员的
喜爱。VB6中是基于事件和对象的思想。严格地来说,Visual Basic只是半面向对象的语言,其面向对象的能力及程序的执行效率往往不能一些程序员的需要,因此,大的项目很少使用Visual Basic来开发,使用vb.net可以编制出功能更加强大的windows程序。
2、.NET
在.net中由于使用了.net框架,面对对象在.net中尤为突出,其中过程思想还能运用,但在.net中过程思想已完全被OOP思想取代。.NET Framework包括了CLR(使用通用垃圾收集机制和JIT编译引擎的虚拟机)和大量的类库。VB开发者进入VB.NET要面对新增的大量类库的问题。
3、两者比较
(1)在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。在vb.net中,可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。构造函数的使用,简化了编码的过程和出错的机会。
(2)vb.net编写线程的能力比vb 6.0有很大的增强。
(3)在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。在vb.net中,可以使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。
(4)vb.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。
(5)因为vb.net是基于.NET框架的,可以与其它.NET语言协同工作。
(6)在vb.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点。
了解:Visual Basic的最后一个版本是Visual Basic 6.0。在Visual Basic 6.0之后,微软公司推出了全新的“.NEt构架”,在其第一个版本-Visual Studio.NET 7.0中,集成了Visual Basic 7.0、Visual C++ 7.0及C#,其中的Visual Basic 7.0(vb 7.0),即是vb.net的第一个版本。现在.NET是最新版本是Visual Studio 2005,对应的vb.net的最新版本是集成在其中的Visual Basic 9.0(vb 9.0),也可称为vb.net 2005。
五、相关概念
1、.NET Framework
.NET Framework 是以一种采用系统虚拟机运行的编程平台,以通用语言库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++等)的开发。.NET也为应用程序接口(API)提供新功能和开发工具使得程序设计员可同时进行Windows应用软件和网络应用软件以级组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象的接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。.NET Framework 中的所有语言都提供基类库(BCL)。
.NET Framework主要由两部分组成,一是公共语言运行时(Common Language Runtime,CLR)环境,CLR提供了一个可靠而完善的多语言运行环境,简化了应用程序的开发配置和管理,从而实现组件能在多语言环境下,跨平台工 作;二是.NET的基础类库(Basic Class Library,BCL),它提供了几乎所有应用程序都需要的公共代码,使用.NET类库提供的公共方法开发应用程序,可以使开发者将精力集中于编写应用 程序所独有的代码,而不必重复编写类似读写文件的经常使用的功能代码.
2、BCL
一个公共编程框架,成为基类库,所有语言的开发者都能利用它。是CLI(Common Language Infrastructure,公共语言基础结构)的规范之一
3、类库
程序员用来实现各种功能的类的集合。字面理解类库就是类的集合,也可以简单的理解为FRAMEWORK
而:.NET Framework 类库是一个由 Microsoft .NET Framework 中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是建立 .NET Framework 应用程序、组件和控件的基础。
4、CLR
CLR(公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,是一个可由多个编程语言使用的运行环境。CLR的核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言使用。并保证应用和底层操作系统之间必要的分离。CLR是.NET Framwork的主要执行引擎
5、DLL
是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。
6、COM组件
Component Object Model (组件对象模型)的缩写
- 是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。
- 是遵循COM规范编写的
- 是一些小的二进制可执行文件
- 可以给应用程序、操作系统以及其他组件提供服务
- 自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序
- 可以动态的插入或卸出应用
- 必须是动态链接的
- 必须隐藏(封装)其内部实现细节
- 必须将其实现的语言隐藏
- 必须以二进制的形式发布
- 必须可以在不妨碍已有用户的情况下被升级
- 可以透明的在网络上被重新分配位置
- 按照一种标准的方式来宣布它们的存在
(2)组件不是
- 不是一种计算机语言
- 不是DLL,只是利用DLL来给组件提供动态链接的能力
- 不是一个API函数集。
- 不是类
7、Dataset
DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。
8、ADO.NET
ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。
9、XML
可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言(SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
XML与HTML的设计区别是:XML 被设计为传输和存储数据,其焦点是数据的内容。而HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。
XML和HTML语法区别:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则 大小敏感,即区分大小写。
10、ORM:对象数据库映射
11、WinForm
是.Net开发平台中对Windows Form的一种称谓。.
特点
(1)简单强大
(2)新的数据提供程序管理
(3)安全
(4)灵活的控件
(5)向导
12、ASP.NET
ASP 是一项微软的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。