加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net总结

发布时间:2020-12-17 00:21:34 所属栏目:大数据 来源:网络整理
导读:Visual Basic.NET是基于 微软 。NETFramework之上的 面向对象 的中间 解释性语言 ,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对 面向对象 的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好。 大多的VB.Net 程序员 使用Visual

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语句
VB6.0使用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. GoSub不再受到支持。
2. Call、Function和Sub语句均可用于调用过程。
3. On ... GoSub和On ... GoTo语句不再受支持。可以使用Select Case语句来替代。
4. While ... Wend语句现在改为While…End While语句。不再支持Wend关键字。

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段:进行一些清理工作,并且总能被执行到的代码段

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读