Visual Basic 基础语法

Visual Basic(VB)是一种面向对象的编程语言。在面向对象编程方法中,一个程序由各种通过动作相互作用的对象组成。 对象可能采取的操作称为方法。相同类型的对象被认为具有相同的类型,或者更经常地说成是在同一类中。

考虑一个 VB 程序结构时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在来简单地看看下面的解释:类,对象,方法和实例变量分别是什么意思?

  • 对象 - 对象具有状态和行为。 例如:狗有状态 - 颜色,名称,品种和行为 - 摇摆,吠叫,吃东西等等。一个对象是一个类的一个实例。
  • 类 - 一个类可以被定义为描述类型对象支持的行为/状态的模板/蓝图。
  • 方法 - 一种方法基本上是一种行为,一个类可以包含很多方法。在逻辑被写入的方法中,操纵数据并且执行所有动作。
  • 实例变量 - 每个对象都有其唯一的一组实例变量。对象的状态由分配给这些实例变量的值创建。

一个 VB 中的 Rectangle 类

例如,假设有一个 Rectangle 对象。它具有像长度和宽度的属性。

下面来看看一个 Rectangle 类的实现,并根据这个类的实现代码来讨论 VB 的基本语法:

  1. Imports System
  2. Public Class Rectangle
  3. Private length As Double
  4. Private width As Double
  5. Public Sub AcceptDetails()
  6. length = 4.5
  7. width = 3.5
  8. End Sub
  9. Public Function GetArea() As Double
  10. GetArea = length * width
  11. End Function
  12. Public Sub Display()
  13. Console.WriteLine("Length: {0}", length)
  14. Console.WriteLine("Width: {0}", width)
  15. Console.WriteLine("Area: {0}", GetArea())
  16. End Sub
  17. Shared Sub Main()
  18. Dim r As New Rectangle()
  19. r.Acceptdetails()
  20. r.Display()
  21. Console.ReadLine()
  22. End Sub
  23. End Class

结果如下:

  1. Length: 4.5
  2. Width: 3.5
  3. Area: 15.75

在前一章中,我们创建了一个包含代码的 Visual Basic 模块。 Sub Main 表示 VB 程序的入口点。 在这里使用包含代码和数据的类,使用类来创建对象。例如,在代码中,r 是一个 Rectangle 对象。

一个对象是一个类的实例:

  1. Dim r As New Rectangle()

如果这样指定的话,一个类可以有可以从外部类访问的成员。数据成员被称为字段,程序成员被称为方法。

可以调用共享方法或静态方法而不创建类的对象。实例方法通过类的一个对象来调用:

  1. Shared Sub Main()
  2. Dim r As New Rectangle()
  3. r.Acceptdetails()
  4. r.Display()
  5. Console.ReadLine()
  6. End Sub

标识符

标识符是用于标识类,变量,函数或任何其他用户定义项目的名称。VB 中命名类的基本规则如下:

  • 标识符名称必须以字母,数字(0-9)或下划线后面的字母开头。标识符中的第一个字符不能是数字。
  • 它不得包含任何嵌入的空间或符号: ? - + ! @ # % ^ & * ( ) [ ] { } . ; : “ ‘ /\。但是,可以使用下划线(_)。

  • 它不应该是一个保留关键字。


VB 关键字

下表列出了 VB 保留关键字:

AddHandlerAddressOfAliasAndAndAlsoAsBoolean
ByRefByteByValCallCaseCatchCBool
CByteCCharCDateCDecCDblCharCInt
ClassCLngCObjConstContinueCSByteCShort
CSngCStrCTypeCUIntCULngCUShortDate
DecimalDeclareDefaultDelegateDimDirectCastDo
DoubleEachElseElseIfEndEnd IfEnum
EraseErrorEventExitFalseFinallyFor
FriendFunctionGetGetTypeGetXML NamespaceGlobalGoTo
HandlesIfImplementsImportsInInheritsInteger
InterfaceIsIsNotLetLibLikeLong
LoopMeModModuleMustInheritMustOverrideMyBase
MyClassNamespaceNarrowingNewNextNotNothing
Not InheritableNot OverridableObjectOfOnOperatorOption
可选OrOrElseOverloadsOverridableOverridesParamArray
PartialPrivatePropertyProtectedPublicRaiseEventReadOnly
ReDimREMRemove HandlerResumeReturnSByteSelect
SetShadowsSharedShortSingleStaticStep
StopStringStructureSubSyncLockThenThrow
ToTrueTryTryCastTypeOfUIntegerWhile
WideningWithWithEventsWriteOnlyXor