c#

位置:IT落伍者 >> c# >> 浏览文章

Visual Basic.Net引人注目的语言革新


发布日期:2024年02月15日
 
Visual Basic.Net引人注目的语言革新

简介

要经常创建Web应用程序开发人员必须按照可升级够稳定和可重用的规律来开发在过去的几年里面向对象的编程已经成为创建符合要求的系统的最主要方法使用面向对象的编程可以使那些大规模的系统程序更容易读懂更容易纠错升级更快

为了使Visual Basic的开发人员从面向对象的设计方法中受益并使企业网站应用程序的开发更简单下一个版本的Visual BasicVisual Basic NET将会支持完全的面向对象的编程功能包括继承的实现有了这些新的语言功能Visual Basic NET将会带来所有我们所需要的功能更快更有效的开发企业级的应用程序同时作为世界最流行的开发软件保持了容易上手的特点

Visual Basic NET将会提供一流的面向对象的编程语言同时带来了许多新的功能比如继承的实现重载和参数化构造函数 另外随着现代化的语言结构的调整如结构化的异常处理代码更易于维护这使得开发人员将可以使用简洁明了的自由线程来编写高扩展性的代码Visual Basic 将会提供开发人员所需要的所有语言特点来使他们能建立稳定可扩展的分布式Web应用程序这些应用程序将会包括以下新功能

面向对象编程的新功能

继承性

重载

参数化构造函数

现代化附加的新功能

自由线程

结构化的异常处理

严格类型检测

共享成员

初始化功能

语言变革的历史

Visual Basic语言随着Windows平台基本结构的改变而做出相应的升级这已经有了一个很长的历史比如说QuickBasic为了支持Windows 的图形化用户界面而做出的重大改变促成了后来Visual Basic的第一个版本的发行在Visual Basic 随着转向基于COM的编程使程序结构中出现了DLL另外在Visual Basic 它开始支持建立COM控件

面向对象的编程

传统的编程语言有很多缺点比如说它的数据是分布在整个代码段中分开存放的任何写成结构化的代码并不是模块因为数据元素对任何代码都是可操作的所以即使没有告诉开发者任何人都可以对数据做改动这可能会造成运行时的错误并且极难纠错还有程序的维护是一项极其繁重的工作要在试着去理解改动一行代码对整个程序会造成的影响之后再去修改会非常困难最后让程序员级管理代码又管理数据而造成的信任问题会使代码的重用率降得非常低

面向对象的编程解决了所有这些问题他把用来操作数据的方法连同数据一起打包成一个对象对象的数据可以被隐藏以防止非法的改动另外一个对象会登记出一套公用的可用于操作数据的方法这就是所谓的封装性因为具体的实施细节使于实际界面分离的所以我们可以在不影响主要程序及数据的前提下以后再改动这个被调用的后台运行的对象程序

面向对象的编程能够让程序的开发人员通过继承来重用代码和数据通过继承预先定义的对象开发者可以更经常的创建复杂的应用由于编写新的代码常常会带来产生潜在的Bug的可能性因此重用经过测试的代码会大大减少Bug产生的可能

为了能够满足所有这些要求Visual Basic NET将会提供更多的语言功能来实现所有上面提到的功能使其成为第一流的面向对象的编程语言

继承性

一个大家强烈要求Visual Basic实现的功能就是继承性的实现了Internet时代发展需要迅速的拼装和大块的重用Visual Basic现在已经支持完全的实施继承包括窗体继承

开发者可以用信的关键字Inherits 从一个已经存在的类中衍生出去

Class

Function GetCustomer()

End Function

Class

Inherits Class

Function GetOrders()

End Function

表达式支持所有的一般的与继承相关的属性衍生类的实例支持所有的基类的方法和接口当然的衍生类也可以扩展这些方法和接口

衍生类可以使用Overrides关键字重载基类定义的方法为了降低编程的错误率Visual Basic防止你随便重载一个函数只有那些被声明为可重载的函数才允许被衍生类重载

重载

Visual Basic现在已经支持函数重载这样程序员就可以通过使用不同的参数类型来使用名称相同而功能不同的子过程或者函数了

当你的对象模型要求你使用相似的过程名来操作不同类型的数据的时候重载就变得非常有用了比如说一个可以显示多种数据类型的类可以使用下面的显示子程序

Overloads Sub Display (theChar As Char)

Overloads Sub Display (theInteger As Integer)

Overloads Sub Display (theDouble As Double)

如果没有重载你就不得不为每一个子过程建立唯一的名称或者只能使用Variant参数重载提供了一种更清楚更有效的方法来处理多种数据类型

参数化构造函数

参数化构造函数(简称构造函数)使你能够在建立一个新的实例的同时把参数传递给它构造函数对面向对象的编程来讲是十分关键的因为它们使实例的建立者能够传递自定义参数的创建代码它们允许用一条简单的表达式来创建并初始化一个新的实体从而简化了客户端的代码

更多现代化语言的新功能Visual Basic NET新增了许多新功能简化了编写更稳定可扩展的应用程序的开发过程这些新功能包括自由线程结构化的异常处理严格类型检测以及一些如初始化功能共享成员等的提高生产效率的新功能

自由线

现在当开发者用Visual Basic建立一个应用程序的时候他的代码已经是同步的了意思是在下一行语句被输入前上一行的语句必须被执行完毕在开发Web应用程序的时候可扩展性是关键开发者需要可以实时处理的工具

自由线程提供了非同步处理机制开发者可以在不影响其他应用程序的前提下新建一鱿叱汤唇幸恍┏な奔涞娜挝瘛⒏丛拥牟檠肭蠡蛘叨嗫橥郊扑恪?BR>

Dim b As BackGroundWork

Dim t As Thread

Set b = New BackGroundWork()

Set t = New Thread(New ThreadStart(AddressOf bDoit))

tStart

End Sub

Class BackGroundWork

Sub DoIt()

End Sub

End Class

结构化的异常处理

开发企业应用程序需要创建可重用的易维护的组件支持错误处理曾经是Basic语言的一个非常出色的方面但是开发人员发现编写一个可靠的错误处理程序就意味着大段的重复代码使用现有的On Error GoTo 表达式常常会降低大型应用程序的开发和维护过程它的名称就说明了一些问题GoTo 意味着一旦错误发生控制权就会被转移到一个子程序内标号的段落那样当错误发生时程序将会相遇到一个标准GoTo一样转移到一个新的地点执行程序然后通过另外的GoTo或者Exit来跳出这个过程同时处理几个错误的时候当他们使用了不同Resume和 Next的组合而执行路径又没有完全处理好时就会很快导致非法的代码和Bug

运用TryCatchFinally这些问题迎刃而解开发者可以把异常处理直接嵌入程序并且会有一个控制结构专门用来编写清空代码无论在通常情况还是在例外情况下这段代码都会被执行

Sub SEH()

Try

Open TESTFILE For Output As #

Write # CustomerInformation

Catch

Kill TESTFILE

Finally

Close #

End try

End Sub

严格类型检测

现在的Visual Basic语言在类型声明上是非常自由的除了使用引用以外的其他参数传递Visual Basic编译器可以生成运行时的强制类型转换允许几乎所有的类型转换成所有其它的类型如果被转换的数据类型不允许任何的数据丢失那么使用运行时的强制类型转换将会失败使用新的附加的编译选项 Visual Basic会针对任何有可能产生运行时错误的类型转换产生编译错误对于那些可能会在运行时产生错误的类型转换 这个Strict的选项将会使Visual Basic产生编译错误以改善类型安全性这些错误包含一些用户无法预计的错误如数字和字符串之间的自动转换等等

共享成员

共享成员是指那些可以被类的所有实例共享的数据和函数成员作为具有继承性的Visual Basic应用程序在类中所有的实例中共享一个数据成员或者函数是需要的一个共享成员是独立于类中任何特定的实例而存在的一个共享的方法是一个不同于一般方法的方法它并不隐式地传递出一个类的实例出于这个原因在共享方法中不允许访问没有指定对象的非共享的数据成员公共的共享成员可以被远程访问并且它们可以被后绑定到类的实例

初始化功能

Visual Basic NET支持在变量定义行直接初始化变量初始化功能可以在任何场合使用包括在控制结构内部初始化功能的这种过程级的语法声明与在定义变量以后立即初始化的作用是一样的换种说法比如

Dim X As Integer = 与以下代码是相同的:

Dim X As Integer X = 小结Visual BasicNet是目前最好的一种面向对象的编程语言之一通过使用Visual Basic NET开发者可以利用自由线程设计出具有良好的可扩展性的代码这些代码具备了结构化异常处理这样的现代语言特性Visual Basic将为设计健壮可扩展的分布式网络应用的开发者在语言特点上提供所有的帮助<

上一篇:使用.net下的系统事件增强应用程序

下一篇:使用.NET Profiler API检查并优化程序的内存使用