瞭解屬性、方法和事件

Visual Basic 的表單和控制項是具有自己的屬性、方法和事件的物件。您可以把屬性看作一個物件的性質,把方法看作物件的動作,把事件看作物件的回應

日常生活中的物件,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些特性,如高度、直徑和顏色。而其它還有一些屬性,用來描述氣球的狀態 (充氣或未充氣的),或一些看不到的特性,如壽命。所有氣球都具有這些屬性,但也因為這些屬性,使每個氣球彼此都不盡相同。

氣球也具有一些使用方法和動作,如:充氣方法 (用氦氣充滿氣球的動作),放氣方法 (排出氣球中的氣體) 和上升方法 (放手讓氣球飛走),所有的氣球都具備這些能力。

當然,氣球還具有預料中對某些外來事件的必然回應。例如,氣球對刺破事件的回應是放氣,對放手事件的回應是升空。

圖 1   物件具有屬性,對事件的回應和執行方法

baloon

如果您以氣球這個物件來撰寫程式的話,可能的 Visual Basic 程式碼將如下所示,其作用是設定氣球的屬性:

Balloon.Color = Red
Balloon.Diameter = 10
Balloon.Inflated = True

請注意程式碼的語法,首先是物件 (Balloon),接著是屬性 (.Color),然後是指定值 (Red)。您可以在程式碼中重覆這個陳述式,並換一個不同的值,來改變氣球的顏色。當您在設計應用程式時,也可以在「屬性」視窗中來設定屬性。

呼叫氣球的方法是這樣的:

Balloon.Inflate
Balloon.Deflate
Balloon.Rise 5

它的語法與屬性的語法相似,物件 (名詞) 後面緊跟著方法 (動詞)。在第三個例子中有一個引數,用來表示氣球上升的高度。某些方法具有一或多個引數,它們的作用是對執行的動作做進一步的描述。

氣球對事件的回應如下所示:

Sub Balloon_Puncture()
   Balloon.Deflate
   Balloon.MakeNoise "Bang"
   Balloon.Inflated = False
   Balloon.Diameter = 1
End Sub

在本範例中,程式碼描述了當發生 Puncture 事件時,氣球的行為是呼叫 Deflate 方法,然後以 Bang (發出的聲息) 為引數,呼叫 MakeNoise 方法。因為氣球已不再是充氣狀態,所以把 Inflated 屬性設定為 False,並將 Diameter 屬性設為另一個新值。

事實上,您是無法以氣球來撰寫程式的,但卻可以依據這種概念,使用 Visual Basic 的表單或控制項來撰寫程式。程式設計者應決定如何變更屬性、呼叫那些方法、回應那些事件,以得到所要的外觀和結果。

取材自 MS Visual Basic 2008