(4) 方法(Method)
方法指的是控制對象動作行為的方式。它是對象本身內(nèi)含的函數(shù)或過程,它也是一個動作,是一個簡單的不必知道細節(jié)的無法改變的事件,但不稱作事件;同樣,方法也不是隨意的,一些對象有一些特定的方法。在VB里方法的調(diào)用形式是:
對象名.方法名
2. 屬性、方法和事件之間的關(guān)系
VB 對象具有屬性、方法和事件。屬性是描述對象的數(shù)據(jù);方法告訴對象應(yīng)做的事情;事件是對象所產(chǎn)生的事情,事件發(fā)生時可以編寫代碼進行處理。
VB 的窗體和控件是具有自己的屬性、方法和事件的對象?梢园褜傩钥醋饕粋對象的性質(zhì),把方法看作對象的動作,把事件看作對象的響應(yīng)。
日常生活中的對象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見的性質(zhì),如它的壽命。通過定義,所有氣球都具有這些屬性;這些屬性也會因氣球的不同而不同。
氣球還具有本身所固有的方法和動作。如:充氣方法(用氦氣充滿氣球的動作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。
氣球還有預(yù)定義的對某些外部事件的響應(yīng)。例如,氣球?qū)Υ唐扑氖录憫?yīng)是放氣,對放手事件的響應(yīng)是升空。
在VB程序設(shè)計中,基本的設(shè)計機制就是:改變對象的屬性、使用對象的方法、為對象事件編寫事件過程。程序設(shè)計時要做的工作就是決定應(yīng)更改哪些屬性、調(diào)用哪些方法、對哪些事件作出響應(yīng),從而得到希望的外觀和行為。
3.事件驅(qū)動模型
在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時調(diào)用過程。
在事件驅(qū)動的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的代碼的路徑都是不同的。
因為事件的順序是無法預(yù)測的,所以在代碼中必須對執(zhí)行時的“各種狀態(tài)”作一定的假設(shè)。當作出某些假設(shè)時(例如,假設(shè)在運行來處理某一輸入字段的過程之前,該輸入字段必須包含確定的值),應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動該處理過程的命令按鈕)。
在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)文本框的 Change 事件。如果 Change 事件中包含有代碼,則將導(dǎo)致該代碼的執(zhí)行。如果原來假設(shè)該事件僅能由用戶的交互操作所觸發(fā),則可能會產(chǎn)生意料之外的結(jié)果。正因為這一原因,所以在設(shè)計應(yīng)用程序時理解事件驅(qū)動模型并牢記在心是非常重要的。
4.交互式開發(fā)
傳統(tǒng)的應(yīng)用程序開發(fā)過程可以分為三個明顯的步驟:編碼、編譯和測試代碼。但是 Visual Basic 與傳統(tǒng)的語言不同,它使用交互式方法開發(fā)應(yīng)用程序,使三個步驟之間不再有明顯的界限。
VB在編程者輸入代碼時便進行解釋,即時捕獲并突出顯示大多數(shù)語法或拼寫錯誤?雌饋砭拖笠晃粚<以诒O(jiān)視代碼的輸入。
除即時捕獲錯誤以外,VB 也在輸入代碼時部分地編譯該代碼。當準備運行和測試應(yīng)用程序時,只需極短時間即可完成編譯。如果編譯器發(fā)現(xiàn)了錯誤,則將錯誤突出顯示于代碼中。這時可以更正錯誤并繼續(xù)編譯,而不需從頭開始。
由于 VB的交互特性,代碼運行的效果可以在開發(fā)時進行測試,而不必等到編譯完成以后。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |