VB.Net基礎語法
VB.Net是一種面向對象的編程語言。在面向對象編程方法中,一個程序由各種通過動作相互作用的對象組成。 對象可能採取的操作稱爲方法。相同類型的對象被認爲具有相同的類型,或者更經常地說成是在同一類中。
考慮一個VB.Net程序結構時,它可以被定義爲通過調用彼此的方法進行通信的對象的集合。現在來簡單地看看下面的解釋:類,對象,方法和實例變量分別是什麼意思?
- 對象 - 對象具有狀態和行爲。 例如:狗有狀態 - 顏色,名稱,品種和行爲 - 搖擺,吠叫,吃東西等等。一個對象是一個類的一個實例。
- 類 - 一個類可以被定義爲描述類型對象支持的行爲/狀態的模板/藍圖。
- 方法 - 一種方法基本上是一種行爲,一個類可以包含很多方法。在邏輯被寫入的方法中,操縱數據並且執行所有動作。
- 實例變量 - 每個對象都有其唯一的一組實例變量。對象的狀態由分配給這些實例變量的值創建。
VB.Net中的Rectangle類
例如,假設有一個Rectangle
對象。它具有像長度和寬度的屬性。根據設計,可能需要接受這些屬性的值,計算面積和顯示細節的方法。
下面來看看一個Rectangle
類的實現,並根據這個類的實現代碼來討論VB.Net的基本語法:
Imports System
Public Class Rectangle
Private length As Double
Private width As Double
'Public methods'
Public Sub AcceptDetails()
length = 4.5
width = 3.5
End Sub
Public Function GetArea() As Double
GetArea = length * width
End Function
Public Sub Display()
Console.WriteLine("Length: {0}", length)
Console.WriteLine("Width: {0}", width)
Console.WriteLine("Area: {0}", GetArea())
End Sub
Shared Sub Main()
Dim r As New Rectangle()
r.Acceptdetails()
r.Display()
Console.ReadLine()
End Sub
End Class
當上面的代碼被編譯並執行時,會產生以下結果:
Length: 4.5
Width: 3.5
Area: 15.75
在前一章中,我們創建了一個包含代碼的Visual Basic模塊。 Sub Main
表示VB.Net程序的入口點。 在這裏使用包含代碼和數據的類,使用類來創建對象。 例如,在代碼中,r
是一個Rectangle
對象。
一個對象是一個類的實例:
Dim r As New Rectangle()
如果這樣指定的話,一個類可以有可以從外部類訪問的成員。數據成員被稱爲字段,程序成員被稱爲方法。
可以調用共享方法或靜態方法而不創建類的對象。實例方法通過類的一個對象來調用:
Shared Sub Main()
Dim r As New Rectangle()
r.Acceptdetails()
r.Display()
Console.ReadLine()
End Sub
標識符
標識符是用於標識類,變量,函數或任何其他用戶定義項目的名稱。VB.Net中命名類的基本規則如下:
- 標識符名稱必須以字母,數字(
0-9
)或下劃線後面的字母開頭。標識符中的第一個字符不能是數字。 - 它不得包含任何嵌入的空間或符號:
?
-
+
!
@
#
%
^
&
*
(
)
[
]
{
}
.
;
:
"
'
/
和\
。但是,可以使用下劃線(_)。 - 它不應該是一個保留的關鍵字。
VB.Net關鍵字
下表列出了VB.Net保留的關鍵字:
AddHandler
AddressOf
Alias
And
AndAlso
As
Boolean
ByRef
Byte
ByVal
Call
Case
Catch
CBool
CByte
CChar
CDate
CDec
CDbl
Char
CInt
Class
CLng
CObj
Const
Continue
CSByte
CShort
CSng
CStr
CType
CUInt
CULng
CUShort
Date
Decimal
Declare
Default
Delegate
Dim
DirectCast
Do
Double
Each
Else
ElseIf
End
End If
Enum
Erase
Error
Event
Exit
False
Finally
For
Friend
Function
Get
GetType
GetXML Namespace
Global
GoTo
Handles
If
Implements
Imports
In
Inherits
Integer
Interface
Is
IsNot
Let
Lib
Like
Long
Loop
Me
Mod
Module
MustInherit
MustOverride
MyBase
MyClass
Namespace
Narrowing
New
Next
Not
Nothing
Not Inheritable
Not Overridable
Object
Of
On
Operator
Option
Optional
Or
OrElse
Overloads
Overridable
Overrides
ParamArray
Partial
Private
Property
Protected
Public
RaiseEvent
ReadOnly
ReDim
REM
Remove Handler
Resume
Return
SByte
Select
Set
Shadows
Shared
Short
Single
Static
Step
Stop
String
Structure
Sub
SyncLock
Then
Throw
To
True
Try
TryCast
TypeOf
UInteger
While
Widening
With
WithEvents
WriteOnly
Xor