對程式設計師和程式設計愛好者來說,vb中類的技術是學習中的乙個難點,在大型軟體的開發過程中,模組(moudle)、控制項(active ocx)、鏈結庫(active dll)和類(class moudle)構成了系統化、高效化的軟體工程,而類的技術是控制項和鏈結庫技術的基礎,因此掌握類的理論和程式設計方法是非常有意義的。
(一)類的基本定義和應用概述;
類是包含了方法、屬性、資料成員的高階**模組,它既在模組的範疇之內,又是乙個沒有圖形介面的active ocx,程式設計師可以象使用控制項一樣使用它,但卻不能看到它,值得注意的是,類是不能繼承的。
類能夠使我們高效的完成對某乙個或者某幾個特定的物件的複雜操作,物件的動作就是類的方法,物件的屬性就是類的屬性過程。相對而言,如果程式設計的物件是一組事物,那麼,我們採用標準模組的方式是非常合適的,在下列兩種情況下,應該使用類進行**處理:
(1)建立大量性質相近的物件;
(2)提高**的封裝性。
類的建立非常簡單,在進行**編寫的時候,在「工程」選單中選擇「新增類模組」專案,就可以新增乙個空白的類。
類檔案一般以.cls作為副檔名儲存。
(二)類的方法的實現;
類的方法類似於動態鏈結庫的介面函式,它能夠接受其他窗體**的指定型別引數,並且傳遞到類中。一般來說類的方法是能夠指定是否有返回值的。它在類中通常是乙個public過程。請看下面的**示例,它使乙個密碼框拒絕非字母的輸入:
(1)類cls的**;
option explicit'變數檢查
private withevents mytxt as textbox
'本類中的方法接受和控制乙個text密碼框
dim isnum as boolean
'類的模組級變數
public sub attach(ittext as textbox)
'接受外部變數到mytxt中
set mytxt = ittext
end sub
private sub mytxt_keyup(keycode as integer, shift as integer)
isnum = (keycode >= 65) and (keycode <= 90)
'測試密碼框的鍵盤輸入是否是英文本母
if isnum = false then
beep
mytxt.text = ""
'如果輸入不是英文本母則響鈴並且清空密碼框內容
msgbox "非法字元輸入!"
end if
debug.print mytxt.text
'除錯輸出密碼框內容
end sub
'類的**結束
(2)類的引用;
已經編寫完成的類可以經過兩種格式進行引用,第一種方式:private(public或者dim) mycls(指定的類名) as new cls(編寫完成的類名);第二種方式較多用於程式編寫風格較「老」的程式設計師:首先在窗體**中進行模組級宣告――dim mycls as cls,然後在具體**過程中進行具體定義―― set mycls = new cls。這兩種方式的效率和**的簡潔性方面可能會有所差別,但在筆者的程式設計實踐中,並沒有什麼特別的感覺,不過我較多使用第一種方式,因為它書寫起來更加方便。另外,在**結束的時候,使用 set mycls = nothing來取消類的資源占用是一種非常好的程式設計習慣。
在窗體form1中(窗體有乙個密碼框控制項text1,passworldchar="*")新增以下**:
option explicit
private mycls as new cls
'引用cls
private sub form_load()
mycls.attach text1
'啟動類
end sub
'在**結束時記得釋放資源
private sub form_unload(cancel as integer)
set mycls = nothing
endend sub
本文**展示了類的方法的**編寫過程和呼叫方式(儘管它和類的事件非常相似),它的效果是,如果密碼框中被輸入了非字母,則系統振鈴,並刪除密碼框中的原來的資料――在一定程度上保護密碼。
關於Visual Basic 6 0類開發 二
在 visual basic 6.0類的技術與應用 上 以下簡稱上文 中,我們討論了類的理論 類的建立和類的方法的程式設計實踐,實際上,類之所以能夠在軟體工程中廣泛應用,最主要的一點是它可以非常方便的封裝許多程式設計需要的屬性,這不僅使程式設計師在一定程度上克服控制項 ocx 和鏈結庫 dll 設計...
關於Visual Basic 6 0類開發 上
對程式設計師和程式設計愛好者來說,vb中類的技術是學習中的乙個難點,在大型軟體的開發過程中,模組 moudle 控制項 active ocx 鏈結庫 active dll 和類 class moudle 構成了系統化 高效化的軟體工程,而類的技術是控制項和鏈結庫技術的基礎,因此掌握類的理論和程式設計...
關於Visual Basic 6 0類開發(下)
在visual basic 6.0類的技術與應用 上 以下簡稱上文 中,我們討論了類的理論 類的建立和類的方法的程式設計實踐,實際上,類之所以能夠在軟體工程中廣泛應用,最主要的一點是它可以非常方便的封裝許多程式設計需要的屬性,這不僅使程式設計師在一定程度上克服控制項 ocx 和鏈結庫 dll 設計和...