vb.net总结
Visual Basic.NET是基于微软。NETFramework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment).SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 Vb.net与vb的联系和区别: 首先来说vb和vb.net都是面向对象的语言,但vb不是完全面向对象而vb.net是完全面向对象的。vb.net是在vb的基础上发展而来,由于开发vb.net应用程序需要依靠.net framework以及需要引进大量类库所以导致vb.net对vb的向后兼容性不好。由于vb.net是完全面向对象的所以在一些语义上跟vb有些差别如按钮的点击事件的定义vb中是不可以带参数的但在vb.net中可以传递参数 Vb:
Private Sub Command1_Click() End Sub Vb.net:
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click End Sub 虽然vb.net与vb在语义上有差别但在语法上还是跟vb很相似,如变量的定义跟使用(使用dim来定义)、系统方法跟函数以及自定义方法和函数(sub、function)。 不支持Set语句
SetmyObj = new MyObject Set a = b在VB.NET中,不需要使用Set指派对象。例如:
myObj= new MyObj() a = b 过程调用方式 VB6.0允许不用加圆括号调用过程(sub)。不过,用Call语句调用函数或sub时,一定要使用圆括号。例如: Dim I as Integer Call EvaluateData(2,i) EvaluateData 2,i在VB.NET中,所有的方法调用都需要圆括号,而Call语句则是可选的。 ByVal是默认参数类型 在VB6.0中,在调用函数或sub时ByRef(传址)是默认类型。那意味着所有改变将反映到传入的变量。VB.NET改变了这种方式。现在,默认的参数类型是ByVal(传值)。 流程控制的改变 vb.net特点: 1.面向对象的编程语言。支持继承、重载、接口、共享成员和构造器。 vb.net中继承(inherits),靠实现接口从而实现多重继承(implements),方法的重载(overload)、重写(override)以及构造器都是vb6.0中不支持的。由于vb.net是完全面向对象的语言所以vb.net在面向对象方面与vb6.0的区别还是很大的。 如类的继承: 示例: '父类 Class Class1 Sub Method1() Msgbox ("这是父类中的一个方法。") End Sub Sub Method2() Msgbox ("这是父类中的另外一个方法。") End Sub End Class '子类 Class Class2 Inherits Class1 Sub Method3() Msgbox ("这是子类中的一个方法。") End Sub End Class 上述代码中,Class1是父类,而Class2是其子类。Class2继承了Class1中的所有方法,当创建Class2的实例时,其实例可以调用Class1中提供的Method1()和Method2()方法。 2.支持所有的CLS特性,如存取控制.NET类、与其它.NET语言交互、元数据、 3.公共数据类型、委托等等。 Vb.net中委托的实现也使得vb.net中动态处理事件的实现更加方便。 4.多线程支持。 多线程(thread)在vb.net中是一个新功能,vb中不支持多线程。 Dim Td AsSystem.Threading.Thread '定义一个线程 Dim n As Int32 Private Sub Button1_Click(ByVal sender AsSystem.Object,ByVal e As System.EventArgs) Handles Button1.Click Td = NewSystem.Threading.Thread(AddressOf abc) '实例化,指向abc过程 Td.Start() '开始运行线程 End Sub Sub abc() For n = 0 To 100000000 System.Threading.Thread.Sleep(10) '让它走慢一点 Next End Sub Private Sub Button2_Click(ByVal sender AsSystem.Object,ByVal e As System.EventArgs) Handles Button2.Click MsgBox(n) '可以看到n在变 End Sub 5.结构化异常处理try catch语句。 相较于VB语言来说,VB.NET引入了许多特色。其中最值得注意的变化就是引入了结构化异常处理。虽然VB.NET仍然支持On Error Goto类型的异常处理,但是这样做并不是很好。我们应该充分利用VB.NET提供的结构化异常处理。 Try 段:可以产生一个异常,并且总是能够被执行到的代码段 Catch段:试图对一个异常做出处理,当异常发生时就会被执行的代码段 Finally段:进行一些清理工作,并且总能被执行到的代码段 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |