官术网_书友最值得收藏!

第2篇 核心技術(shù)

本篇介紹可視化編程,窗體和系統(tǒng)對象,標(biāo)準(zhǔn)模塊和類模塊,標(biāo)準(zhǔn)控件,ActiveX控件、工具欄和狀態(tài)欄,鼠標(biāo)、鍵盤事件,菜單和對話框設(shè)計(jì)以及程序調(diào)試與錯誤處理等內(nèi)容。通過本篇的學(xué)習(xí),讀者能輕松掌握Visual Basic編程的核心技術(shù)。

第6章 應(yīng)用程序的精髓—可視化編程

本章視頻教學(xué)錄像:30分鐘

面向?qū)ο蠹夹g(shù)是計(jì)算機(jī)軟件工程中的區(qū)別與面向過程技術(shù)一種程序設(shè)計(jì)方法。在軟件工程中,面向?qū)ο笫且环N新式的計(jì)算機(jī)程序設(shè)計(jì)架構(gòu),其原則是計(jì)算機(jī)程序由對象組成,其技術(shù)有其自身的評價(jià)參數(shù)和特點(diǎn),它的設(shè)計(jì)思想更符合人們對現(xiàn)實(shí)世界的認(rèn)識方式。本章將介紹對象和類的基本概念和如何使用對象。

本章要點(diǎn)(已掌握的在方框中打鉤)

□ 掌握對象和類的含義

□ 熟悉簡單的對象的建立與編輯

□ 掌握對象屬性及其設(shè)置的方法

□ 掌握對象的方法及其調(diào)用過程

□ 熟悉事件的調(diào)用過程

6.1 對象概念

本節(jié)視頻教學(xué)錄像:15分鐘

對象和類是面向?qū)ο笾械幕窘M成部分,對象是現(xiàn)實(shí)世界中具體的事物,而類是將一類事物進(jìn)行抽象而得到的。對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理。對象可以是應(yīng)用程序的一部分,比如可以是控件或窗體。整個應(yīng)用程序也是一個對象。

VB中的每個對象都是用類定義的。用餅干模子和餅干之間的關(guān)系做比較,就會明白對象和它的類之間的關(guān)系。餅干模子是類。它確定了每塊餅干的特征,比如大小和形狀。用類創(chuàng)建對象,對象就是餅干。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù),可以理解成一種定義了對象行為和外觀的模板;把對象看作是類的原原本本的復(fù)制品。

6.1.1 對象和類

究竟什么是對象和類呢?首先我們通過一個例子來認(rèn)識一下。

比如“樹木”是一個抽象的名稱,類似一個類的概念。而梧桐樹、楊樹、蘋果樹等就是“樹木”類的具體對象。這些種類的樹木因?yàn)橥獠坎町愃苑Q為不同的對象,但是內(nèi)部機(jī)理具備樹木的普遍特性,所以被稱為一類被稱為“樹木”物體。

對象的概念是面向?qū)ο缶幊碳夹g(shù)的核心。所以從面向?qū)ο蟮挠^點(diǎn)看,所有的面向?qū)ο蟮膽?yīng)用程序都是有對象組合而成的。而類(class)是同類對象的屬性和行為特征的抽象描述。

在現(xiàn)實(shí)生活中,對象指的是具體的事物,如天上的衛(wèi)星、地上的樹木、海里的輪船等,每個客體都具有一些屬性和行為,例如學(xué)生有學(xué)號、姓名、性別等屬性,有上課、考試、做實(shí)驗(yàn)等行為。因此,每個個體都可以用屬性和行為來描述。將對象的內(nèi)部狀態(tài)稱為屬性,將其行為稱為方法和事件。對象之間的聯(lián)系通過消息來傳遞,消息機(jī)制是對象間相互聯(lián)系和相互作用的方式。

在Visual Basic 6.0中,系統(tǒng)為每一類對象都規(guī)定了若干屬性。設(shè)計(jì)中可以改變具體對象的屬性值。窗體的任何一個對象都有屬性、事件和方法3個要素,它們各自從不同的角度表達(dá)了對象的構(gòu)成,通過三者的有機(jī)結(jié)合,便構(gòu)成Visual Basic應(yīng)用程序的基本元素。也可以說,一個完整的Visual Basic應(yīng)用程序就是若干個對象集合而成的,而每個對象又是通過屬性、事件及方法構(gòu)成的。

提示

類和對象是面向?qū)ο蟪绦蛟O(shè)計(jì)的語言基礎(chǔ)。類是從相同類型的對象中抽象出來的一種數(shù)據(jù)類型也可以說是所有具有相同數(shù)據(jù)結(jié)構(gòu)、相同操作的對象的抽象。類的構(gòu)成不僅包含描述對象屬性的數(shù)據(jù),還有對這些數(shù)據(jù)進(jìn)行操作的事件代碼,即對象的行為(或操作)。

6.1.2 VB中對象的建立和編輯

在“工程設(shè)計(jì)”窗口,打開“代碼”窗口有以下方法。

⑴ 依次選擇“視圖”→“代碼窗口”菜單選項(xiàng),打開“代碼窗口”。

⑵ 選中某一對象,右擊鼠標(biāo),打開快捷菜單,選擇“代碼窗口”菜單選項(xiàng),打開“代碼”窗口。在“代碼”窗口,首先通過“對象”組合框提供的參數(shù)選擇對象,然后再通過“事件”組合框提供的參數(shù)選擇事件,這時系統(tǒng)自動給出事件過程開頭和結(jié)束語句。

例如:

        01 Private Sub Cmdl_Click()
        02 End Sub

接下來便可以在上面開頭和結(jié)束語句之間輸入過程代碼。在Visual Basic系統(tǒng)中,過程代碼是針對具體對象事件編寫的,為了確切得知名某個對象的“操作”,必須在方法和屬性名前加上對象名,中間用小數(shù)點(diǎn)(.)分隔。

例如:

        01 Private Sub CmdHello_Click()
        02 Lbldisply.Caption="您好!" "&txtName.Text"
        03 End Sub

6.2 對象的屬性、方法和事件

本節(jié)視頻教學(xué)錄像:13分鐘

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對象具有屬性、方法和事件。屬性用來描述對象的特征,方法告訴我們對象對象應(yīng)做的事情,而事件是對象所產(chǎn)生的事情,事件發(fā)生時可以編寫代碼進(jìn)行處理。在Visual Basic 6.0中,每一個窗體和控件都具有自己的屬性、方法和事件的對象。可以把屬性看作一個對象的性質(zhì),把方法看作對象的動作,把事件看作對象的響應(yīng)。在程序設(shè)計(jì)中,基本的設(shè)計(jì)機(jī)制是,改變對象的屬性、使用對象的方法、為對象事件編寫事件過程。程序設(shè)計(jì)時要做的工作就是決定應(yīng)更改哪些屬性、調(diào)用哪些方法、對哪些事件作出響應(yīng),從而得到希望的行為。

6.2.1 對象的屬性及設(shè)置

在Visual Basic系統(tǒng)中,各種對象擁有幾十個屬性。對象的屬性可以在設(shè)計(jì)對象時通過屬性窗口設(shè)置,也可以在程序運(yùn)行時通過事件代碼來進(jìn)行設(shè)置。

1. 利用“屬性”窗口設(shè)置對象屬性

在“工程設(shè)計(jì)”窗口,有三種打開“屬性”窗口的方法。

⑴ 選擇窗口上的“視圖”→“屬性窗口”菜單選項(xiàng),打開“屬性”窗口。

⑵ 選中設(shè)置屬性的“對象”,右擊鼠標(biāo),打開快捷菜單,選擇“屬性窗口”菜單選項(xiàng),打開“屬性”窗口。

⑶ 選中設(shè)置屬性的“對象”,單擊工具欄中的按鈕,打開“屬性”窗口。

在屬性窗口,可以直接為對象設(shè)置屬性,如圖所示。

也可以通過組合框提供的參數(shù)選擇對象屬性,如圖所示。

還可以通過對話窗口為對象設(shè)置屬性,如圖所示。

2. 利用屬性設(shè)置為對象設(shè)置屬性

屬性設(shè)置語句格式1:

[<父類名>].<對象名>.屬性名=<屬性值>

屬性設(shè)置語句格式2:

        With <對象名>
        <屬性值表>
        End with

提示

在Visual Basic中,某些對象的若干屬性不能通過程序語句設(shè)置,只能在“屬性”窗口設(shè)置;還有些屬性是只讀屬性,只能繼承,不能改動;另外有些對象(尤其后面講到的ActiveX控件),個別的屬性窗口沒有出現(xiàn),必須在程序語句設(shè)置或在專門的“屬性”窗口設(shè)置。

如下是命令按鈕的屬性,除在“屬性窗口”設(shè)置屬性外,還可以用以下程序語句設(shè)置:

        01 Private Sub Form-Load()
        02 With Cmd1
        03 caption="關(guān)閉"
        04 Left=4680
        05 Top=5280
        06 Height=615
        07 Width=1335
        08 End With
        09 End Sub

6.2.2 對象的方法及調(diào)用

對象的方法,是指控制對象動作行為的方式。方法不同于事件,方法是對象本身內(nèi)含有的函數(shù)和過程,是一個簡單、用戶不需要知道細(xì)節(jié)、用戶無法改變的一個動作。而事件是由用戶定義的動作,這個動作用戶需要了解細(xì)節(jié)而且是可以改變的,每一類對象都可能有一些自身特定的方法。在Visual Basic 6.0中,方法的調(diào)用形式是:

        對象名.對象名

例如,Adodc1.Refresh,刷新的方法Refresh是數(shù)據(jù)連接對象Adodc的一個方法;Form1.Hide也表示Hide是窗體對象Form的一個方法。

對象的方法是對象內(nèi)部已經(jīng)確定的。

6.2.3 對象的事件及事件過程

事件,指的是發(fā)生在對象上的動作。事件的發(fā)生并非隨意的,某些事件僅發(fā)生在某個時間或某些對象上。在Visual Basic系統(tǒng)中,一個對象可以識別和響應(yīng)一個或者多個事件,這些事件的代碼是通過“事件過程”定義的。

在Visual Basic 6.0中,事件的定義方式為:

        Private Sub對象名-事件名稱
       (事件內(nèi)容)
        End Sub

例如,當(dāng)用戶單擊Command1按鈕時,顯示文字信息“hello Visual Basic”,如下圖所示。

在設(shè)計(jì)界面上添加一個command Button,雙擊Command1,進(jìn)入代碼編輯區(qū),輸入以下代碼。

        01 Private Sub Command1_Click()
        02 Form1.Caption="hello Visual Basic"'設(shè)置對象的標(biāo)題為"hello Visual Basic"
        03 End Sub

6.3 高手點(diǎn)撥

本節(jié)視頻教學(xué)錄像:2分鐘

1. “對象名稱”指的是對象(名稱)屬性定義的標(biāo)識符,這一屬性必須在“屬性”窗口進(jìn)行定義。

2. “事件名稱”是由Visual Basic系統(tǒng)定義好的某一對象能夠識別和響應(yīng)的事件。

3. “程序代碼”是Visual Basic提供的操作語句及特定的方法。

在Visual Basic系統(tǒng)中,對象可以響應(yīng)的事件有很多,在多數(shù)情況下,事件是通過用戶的操作行為引發(fā)的(如單擊鼠標(biāo)、移動鼠標(biāo)、按鍵等)。當(dāng)事件發(fā)生時,將執(zhí)行包含在事件過程中的全部代碼。

事件有的適用于專門控件,有的適用于多種控件,下表列出Visual Basic系統(tǒng)中的核心事件。

6.4 實(shí)戰(zhàn)練習(xí)

一、思考題

試總結(jié)對象的屬性、方法、事件的關(guān)系。

二、操作題

設(shè)計(jì)一個窗體,當(dāng)單擊“顯示”按鈕時,在文本框內(nèi)顯示“Hello Visual Basic”;當(dāng)單擊“清除”按鈕時,清除文本框內(nèi)的內(nèi)容;當(dāng)單擊“退出”按鈕時,結(jié)束程序運(yùn)行。

主站蜘蛛池模板: 康定县| 武功县| 正镶白旗| 涟源市| 张掖市| 蒙山县| 扶风县| 工布江达县| 永春县| 息烽县| 腾冲县| 杂多县| 报价| 房产| 揭东县| 武穴市| 鸡西市| 图们市| 闽清县| 长兴县| 沅江市| 岳西县| 棋牌| 贞丰县| 昌邑市| 新巴尔虎左旗| 钟祥市| 将乐县| 武清区| 定安县| 哈尔滨市| 徐汇区| 康马县| 广德县| 格尔木市| 乌拉特前旗| 云南省| 松江区| 广丰县| 莱芜市| 延川县|