和VB6.0相似的地方是,都可以使用Function/Sub关键字定义方法 。下面的例子显示了如何创建class、添加方法,并从主程序调用方法: Imports System
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
Console.WriteLine(cls.MyMethod)
End Sub
Class TestClass
Function MyMethod() As String
Return "Test Method"
End Function
End Class
End ModuleProperty属性(Property)是类变量的公共描述 。Property…End Property语句用以创建property 。属性的Get/Set方法分别用于取得和设置属性值 。下面的例子中 , Data是TestClass的属性 。
Imports System
Imports System.Console
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
WriteLine(cls.MyMethod)
WriteLine(cls.Data)
cls.Data = "https://www.04ip.com/post/New Data"
WriteLine(cls.Data)
End Sub
End Module
Class TestClass
Private strData As String = "Some Data"
Function MyMethod() As String
Return "Test Method!"
End Function
' Adding Data property to the class
Public Property Data() As String
Get
Return strData
End Get
Set(ByVal Value As String)
strData = https://www.04ip.com/post/Value
End Set
End Property
重载VB.NET通过overload关键字支持方法重载 。使用这个关键字,你可以定义同名但不同参数的方法 。
类成员访问域
除了原有的Private和Public,VB.NET引入了几个新关键字 。全部访问域关键字列表如下:
关键字作用域
Private限于class内部
Public可以从class外访问
Friend限于class所属的应用程序内
Protected只能被class和其派生类访问
Protected Friend能被class、应用程序和派生类访问
继承继承是面向对象编程语言中最常用的技术 。继承让你能够重用类代码和功能 。
VB.NET支持继承,而VB6.0则不支持 。继承的好处在于你能使用任何人编写的类,从这些类派生自己的类 , 然后在自己的类中调用父类功能 。在下面的例子中 , Class B派生自Class A , 我们将从Class B中调用Class A的方法MethodA 。
Imports System
Imports System.Console
Module Module1
Sub Main()
Dim bObj As B = New B
WriteLine(bObj.MethodA())
End Sub
End Module
' Class A defined
Public Class A
Function MethodA() As String
Return "Method A is called."
End Function
End Class
'Class B, inherited from Class A. All members (Public and Protected)
' can be access via B now.
Public Class B
Inherits A
Function MethodB() As String
Return "Method B is called."
End Function
End Class
可以从一个class中派生多个自定义class,也可以从多个class派生一个自定义class 。
共享的成员类的共享成员被类的所有实体共享 。共享成员可能是属性、方法或字段/值域 。在你不想让用户全面控制自己的类时,共享成员相当有用 。例如,你可以开发一个类库,让用户通过共享成员使用其中的部分功能 。
可以通过class本身引用共享成员 , 而无需通过类的实体 。例如:Module Module1
Sub Main()
WriteLine(A.MethodA())
End Sub
End Module
' Class A defined
Public Class A
Shared Function MethodA() As String
Return "Method A is called."
End Function
End Class
多线程VB语言的一大弱点就是缺乏编写自由线程(free-threaded)程序的能力 。在.NET Framework中,所有语言共享CRL(Common Runtime Library,公共运行库),也就是说,你可以用VB.NET、C#或其它.NET语言编写同样的程序 。
System.Threading namespace定义了线程类 。我们只需要引入System.Threading namespace , 即可使用线程类 。
推荐阅读
- 手机浏览器html5安卓app,h5浏览器 app
- 手机怎么连电视做瑜伽视频,手机怎么连接电视学跳舞
- eclipsepython教程,eclipse+pydec运行python程序
- 什么案子会搞线上开庭直播,在什么情况下法院开庭直播
- vb.net在父窗体中 vb在窗体form1上添加菜单
- h5和css网页设计源代码,html5css3网页设计与制作代码
- 中国区块链的定义,中国区块链的发展方向
- 家里装的电视是什么平台,家里电视用什么
- linux命令全-r linux命令全选