【學(xué)習(xí)課件】第10章面象對(duì)象程序設(shè)計(jì)visualfoxpro全套資料(計(jì)算機(jī)國(guó)家二級(jí)課件)_第1頁
【學(xué)習(xí)課件】第10章面象對(duì)象程序設(shè)計(jì)visualfoxpro全套資料(計(jì)算機(jī)國(guó)家二級(jí)課件)_第2頁
【學(xué)習(xí)課件】第10章面象對(duì)象程序設(shè)計(jì)visualfoxpro全套資料(計(jì)算機(jī)國(guó)家二級(jí)課件)_第3頁
【學(xué)習(xí)課件】第10章面象對(duì)象程序設(shè)計(jì)visualfoxpro全套資料(計(jì)算機(jī)國(guó)家二級(jí)課件)_第4頁
【學(xué)習(xí)課件】第10章面象對(duì)象程序設(shè)計(jì)visualfoxpro全套資料(計(jì)算機(jī)國(guó)家二級(jí)課件)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 第10章 面向?qū)ο蟪绦蛟O(shè)計(jì)10.1 對(duì)象與類 傳統(tǒng)的編程方法采用面向過程、按順序進(jìn)行的機(jī)制,設(shè)計(jì)人員始終要關(guān)心什么時(shí)候發(fā)生什么事情,程序必須有一個(gè)完整的開始、中間和結(jié)束過程。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法采用由用戶或系統(tǒng)觸發(fā)事件來驅(qū)動(dòng)程序的機(jī)制,設(shè)計(jì)人員不必考慮程序執(zhí)行的精確順序,只需編寫響應(yīng)用戶動(dòng)作的程序。 VFP采用的就是一種可視化的面向?qū)ο蟮木幊碳夹g(shù)。10.1.1 對(duì)象 1對(duì)象的概念 對(duì)象是反映客觀事物屬性及行為特征的可操作實(shí)體,其中屬性描述對(duì)象的狀態(tài),方法描述對(duì)象的行為。 2對(duì)象的基本特征 屬性(Property) 對(duì)象具有的物理性質(zhì)及其特性的描述。 事件(Event) 一種系統(tǒng)預(yù)先定義好

2、的、能夠被對(duì)象識(shí)別的特定動(dòng)作,由用戶或系統(tǒng)激活。如,Click事件、Load事件等。 事件是固定的,由系統(tǒng)提供,用戶不能創(chuàng)建。 事件過程是設(shè)計(jì)人員為處理或響應(yīng)特定事件而編寫的程序,由事件的激發(fā)而調(diào)用其代碼,也可在運(yùn)行中由程序調(diào)用其代碼。 方法(Method) 是與對(duì)象相關(guān)聯(lián)的過程,用于完成某種特定的功能。方法的代碼只能在運(yùn)行中由程序調(diào)用。 方法可以由系統(tǒng)提供,也可以由用戶創(chuàng)建。10.1.2 類1類的概念 類(class) 是客觀對(duì)象的歸納和抽象,是具有共同屬性和行為的對(duì)象的集合?;陬惪梢陨蛇@類對(duì)象中的任何一個(gè)具體對(duì)象,這些對(duì)象具有相同的屬性。2類的特性 (1)封裝性(Encapsulati

3、on) 是指將對(duì)象的方法和屬性代碼包裝在一起,以隱藏不必要的復(fù)雜性。(2)繼承性(Inheritance) 表明子類延用其父類特征的能力,通過繼承關(guān)系可以利用已有的類構(gòu)造新類。 繼承性提供了通過基類(或父類)產(chǎn)生新的派生類(或子類)的方法。子類不但具有父類的全部屬性和方法,而且還允許對(duì)已有的屬性和方法進(jìn)行修改,或添加新的屬性和方法。10.1.3 VFP中的類1. 基類 基類是VFP系統(tǒng)自帶的,用戶可以從基類中生成所需要的對(duì)象,也可以擴(kuò)展基類創(chuàng)建自己的類。2容器類與控件類 基類主要有容器類和控件類兩大類型 ,相應(yīng)地,可分別生成容器對(duì)象和控件對(duì)象。(1)容器對(duì)象 由容器類派生的、可以包含其它對(duì)象的

4、對(duì)象。無論在設(shè)計(jì)時(shí)刻還是在運(yùn)行時(shí)刻,容器類對(duì)象和它所包含的對(duì)象都被當(dāng)作一個(gè)獨(dú)立的對(duì)象進(jìn)行操作。在對(duì)象的層次中,容器中被包含的對(duì)象處于容器對(duì)象的下一層。(2)控件對(duì)象 由控件類派生的、以圖形化方式顯示出來并能與用戶進(jìn)行交互的對(duì)象。這些對(duì)象是一個(gè)相對(duì)獨(dú)立的整體,不能容納其它對(duì)象??丶?duì)象通常被放置在一個(gè)容器對(duì)象里。 10.1.3 VFP中的類容器類與所包含的對(duì)象 10.1.3 VFP中的類常用控件10.1.4 屬性、事件與方法1屬性 描述對(duì)象的狀態(tài)或某一方面的行為特征,派生出來的新類將繼承基類和父類的全部屬性。 對(duì)象的每個(gè)屬性都具有一定的含義,通過設(shè)置對(duì)象的屬性可以定義對(duì)象的不同特征和狀態(tài)。 2.

5、 事件 是由VFP預(yù)先定義好的、能夠被對(duì)象識(shí)別的動(dòng)作。事件作用于對(duì)象,對(duì)象識(shí)別事件并作出相應(yīng)反應(yīng)。 在容器對(duì)象的嵌套層次中,每個(gè)對(duì)象獨(dú)立地接收并處理屬于自己的事件。 3方法 是對(duì)象在事件觸發(fā)時(shí)的行為和動(dòng)作,是與對(duì)象或?qū)ο笫录鄬?duì)應(yīng)的、相關(guān)聯(lián)的過程,方法被“封裝”在對(duì)象中,不同的對(duì)象具有不同的內(nèi)部方法。 10.2 設(shè)計(jì)類1. 類的創(chuàng)建:在項(xiàng)目管理器中選擇“類”選項(xiàng)卡,單擊“新建”按鈕,打開“新建類”對(duì)話框,選擇基類并輸入類名,然后單擊“確定”按鈕,打開類設(shè)計(jì)器。 2. 類屬性的設(shè)置:打開類設(shè)計(jì)器,選擇“顯示|屬性”命令,打開屬性窗口。3. 添加屬性:打開類設(shè)計(jì)器,選擇“類|新建屬性”命令。4.

6、類方法的定義(1)打開類設(shè)計(jì)器,選擇“顯示|代碼“命令,打開代碼編輯窗口,輸入代碼。(2)通過編程定義類:DEFINE CLASS10.2 設(shè)計(jì)類基類自定義的類類庫文件名(.VCX)10.3.1 對(duì)象的建立1由類創(chuàng)建對(duì)象 對(duì)象是在類的基礎(chǔ)上派生出來的,只有具體的對(duì)象才能實(shí)現(xiàn)類的事件或方法的操作。 命令:CreateObject (), 例如,基于表單類FORM創(chuàng)建一個(gè)名為“MyForm1”的表單對(duì)象: MyForm1 = CreateObject(”FORM”)2在容器對(duì)象中添加對(duì)象 命令:.AddObject (,) 例如,在表單對(duì)象MyForm1中添加一個(gè)命令按鈕控件cmdExit。 My

7、Form1.AddObject(”cmdExit”,”COMMANDBUTTON”)3釋放對(duì)象 程序運(yùn)行完成之后,局部變量和私有變量自動(dòng)釋放,全局變量要使用 RELEASE 命令釋放。10.3.2 對(duì)象的引用 在容器類對(duì)象中可以包含其它對(duì)象,由此構(gòu)成了對(duì)象之間互相包含的層次關(guān)系。在VFP中,對(duì)象是通過容器的層次關(guān)系來引用的。因此,當(dāng)引用一個(gè)對(duì)象時(shí),必須知道它相對(duì)于容器層次的關(guān)系。(1)絕對(duì)引用 通過提供對(duì)象的完整容器層次來引用對(duì)象,是從最外層容器指向目標(biāo)對(duì)象。例如, Form1.PageFrame1.Page1.cmdClear.Caption = ”清除”(2)相對(duì)引用 從參照對(duì)象指向目標(biāo)對(duì)

8、象。 例如, ThisForm.cmdExit.Caption = ”退出”10.3.2 對(duì)象的引用參照關(guān)鍵字 10.3.3 對(duì)象的屬性設(shè)置與方法調(diào)用1屬性設(shè)置 可以在設(shè)計(jì)時(shí)刻、也可以在運(yùn)行時(shí)刻設(shè)置屬性;設(shè)置時(shí)既可以利用“屬性”窗口,也可以在程序代碼中使用命令語句。 格式1: . = 格式2: WITH . ENDWITH例如,設(shè)置表單MyForm1中的按鈕控件cmdClear的Height(高度)和Width (寬度)屬性: MyForm1.CmdClear.Height = 30MyForm1.cmdClear.Width = 50WITH MyForm1.cmdClear .Height

9、 = 30 .Width = 50ENDWITH或10.3.3 對(duì)象的屬性設(shè)置與方法調(diào)用2對(duì)象方法的調(diào)用 當(dāng)對(duì)象創(chuàng)建以后,就可以在應(yīng)用程序的任何一個(gè)地方調(diào)用這個(gè)對(duì)象的方法: 格式:.(參數(shù)表) 例如,調(diào)用顯示一個(gè)表單對(duì)象MyForm1的方法: MyForm1.SHOW3調(diào)用基類中的方法 對(duì)象和子類會(huì)自動(dòng)繼承基類的全部功能,也可以用新功能替代繼承來的功能。如果希望向新類或?qū)ο笾刑砑有鹿δ艿耐瑫r(shí)保留父類功能,可以使用作用域操作符(:)在子類或?qū)ο笾姓{(diào)用基類中的方法。 例如,MyCommandButton:Click 表示 MyCommandButton 對(duì)象繼承其父 類的Click 事件過程。10.4 數(shù)據(jù)環(huán)境l數(shù)據(jù)環(huán)境(DataEnvironment) 指在創(chuàng)建或使用一個(gè)對(duì)象時(shí)需要打開的全部表、視圖和關(guān)系。2數(shù)據(jù)源(Datasource) 指數(shù)據(jù)庫和訪問該數(shù)據(jù)庫所需的信息。3. 數(shù)據(jù)綁定(DataBinding)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論