版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 第10章 面向?qū)ο蟪绦蛟O(shè)計10.1 對象與類 傳統(tǒng)的編程方法采用面向過程、按順序進行的機制,設(shè)計人員始終要關(guān)心什么時候發(fā)生什么事情,程序必須有一個完整的開始、中間和結(jié)束過程。 面向?qū)ο蟮某绦蛟O(shè)計方法采用由用戶或系統(tǒng)觸發(fā)事件來驅(qū)動程序的機制,設(shè)計人員不必考慮程序執(zhí)行的精確順序,只需編寫響應(yīng)用戶動作的程序。 VFP采用的就是一種可視化的面向?qū)ο蟮木幊碳夹g(shù)。10.1.1 對象 1對象的概念 對象是反映客觀事物屬性及行為特征的可操作實體,其中屬性描述對象的狀態(tài),方法描述對象的行為。 2對象的基本特征 屬性(Property) 對象具有的物理性質(zhì)及其特性的描述。 事件(Event) 一種系統(tǒng)預(yù)先定義好
2、的、能夠被對象識別的特定動作,由用戶或系統(tǒng)激活。如,Click事件、Load事件等。 事件是固定的,由系統(tǒng)提供,用戶不能創(chuàng)建。 事件過程是設(shè)計人員為處理或響應(yīng)特定事件而編寫的程序,由事件的激發(fā)而調(diào)用其代碼,也可在運行中由程序調(diào)用其代碼。 方法(Method) 是與對象相關(guān)聯(lián)的過程,用于完成某種特定的功能。方法的代碼只能在運行中由程序調(diào)用。 方法可以由系統(tǒng)提供,也可以由用戶創(chuàng)建。10.1.2 類1類的概念 類(class) 是客觀對象的歸納和抽象,是具有共同屬性和行為的對象的集合?;陬惪梢陨蛇@類對象中的任何一個具體對象,這些對象具有相同的屬性。2類的特性 (1)封裝性(Encapsulati
3、on) 是指將對象的方法和屬性代碼包裝在一起,以隱藏不必要的復(fù)雜性。(2)繼承性(Inheritance) 表明子類延用其父類特征的能力,通過繼承關(guān)系可以利用已有的類構(gòu)造新類。 繼承性提供了通過基類(或父類)產(chǎn)生新的派生類(或子類)的方法。子類不但具有父類的全部屬性和方法,而且還允許對已有的屬性和方法進行修改,或添加新的屬性和方法。10.1.3 VFP中的類1. 基類 基類是VFP系統(tǒng)自帶的,用戶可以從基類中生成所需要的對象,也可以擴展基類創(chuàng)建自己的類。2容器類與控件類 基類主要有容器類和控件類兩大類型 ,相應(yīng)地,可分別生成容器對象和控件對象。(1)容器對象 由容器類派生的、可以包含其它對象的
4、對象。無論在設(shè)計時刻還是在運行時刻,容器類對象和它所包含的對象都被當作一個獨立的對象進行操作。在對象的層次中,容器中被包含的對象處于容器對象的下一層。(2)控件對象 由控件類派生的、以圖形化方式顯示出來并能與用戶進行交互的對象。這些對象是一個相對獨立的整體,不能容納其它對象。控件對象通常被放置在一個容器對象里。 10.1.3 VFP中的類容器類與所包含的對象 10.1.3 VFP中的類常用控件10.1.4 屬性、事件與方法1屬性 描述對象的狀態(tài)或某一方面的行為特征,派生出來的新類將繼承基類和父類的全部屬性。 對象的每個屬性都具有一定的含義,通過設(shè)置對象的屬性可以定義對象的不同特征和狀態(tài)。 2.
5、 事件 是由VFP預(yù)先定義好的、能夠被對象識別的動作。事件作用于對象,對象識別事件并作出相應(yīng)反應(yīng)。 在容器對象的嵌套層次中,每個對象獨立地接收并處理屬于自己的事件。 3方法 是對象在事件觸發(fā)時的行為和動作,是與對象或?qū)ο笫录鄬?yīng)的、相關(guān)聯(lián)的過程,方法被“封裝”在對象中,不同的對象具有不同的內(nèi)部方法。 10.2 設(shè)計類1. 類的創(chuàng)建:在項目管理器中選擇“類”選項卡,單擊“新建”按鈕,打開“新建類”對話框,選擇基類并輸入類名,然后單擊“確定”按鈕,打開類設(shè)計器。 2. 類屬性的設(shè)置:打開類設(shè)計器,選擇“顯示|屬性”命令,打開屬性窗口。3. 添加屬性:打開類設(shè)計器,選擇“類|新建屬性”命令。4.
6、類方法的定義(1)打開類設(shè)計器,選擇“顯示|代碼“命令,打開代碼編輯窗口,輸入代碼。(2)通過編程定義類:DEFINE CLASS10.2 設(shè)計類基類自定義的類類庫文件名(.VCX)10.3.1 對象的建立1由類創(chuàng)建對象 對象是在類的基礎(chǔ)上派生出來的,只有具體的對象才能實現(xiàn)類的事件或方法的操作。 命令:CreateObject (), 例如,基于表單類FORM創(chuàng)建一個名為“MyForm1”的表單對象: MyForm1 = CreateObject(”FORM”)2在容器對象中添加對象 命令:.AddObject (,) 例如,在表單對象MyForm1中添加一個命令按鈕控件cmdExit。 My
7、Form1.AddObject(”cmdExit”,”COMMANDBUTTON”)3釋放對象 程序運行完成之后,局部變量和私有變量自動釋放,全局變量要使用 RELEASE 命令釋放。10.3.2 對象的引用 在容器類對象中可以包含其它對象,由此構(gòu)成了對象之間互相包含的層次關(guān)系。在VFP中,對象是通過容器的層次關(guān)系來引用的。因此,當引用一個對象時,必須知道它相對于容器層次的關(guān)系。(1)絕對引用 通過提供對象的完整容器層次來引用對象,是從最外層容器指向目標對象。例如, Form1.PageFrame1.Page1.cmdClear.Caption = ”清除”(2)相對引用 從參照對象指向目標對
8、象。 例如, ThisForm.cmdExit.Caption = ”退出”10.3.2 對象的引用參照關(guān)鍵字 10.3.3 對象的屬性設(shè)置與方法調(diào)用1屬性設(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 對象的屬性設(shè)置與方法調(diào)用2對象方法的調(diào)用 當對象創(chuàng)建以后,就可以在應(yīng)用程序的任何一個地方調(diào)用這個對象的方法: 格式:.(參數(shù)表) 例如,調(diào)用顯示一個表單對象MyForm1的方法: MyForm1.SHOW3調(diào)用基類中的方法 對象和子類會自動繼承基類的全部功能,也可以用新功能替代繼承來的功能。如果希望向新類或?qū)ο笾刑砑有鹿δ艿耐瑫r保留父類功能,可以使用作用域操作符(:)在子類或?qū)ο笾姓{(diào)用基類中的方法。 例如,MyCommandButton:Click 表示 MyCommandButton 對象繼承其父 類的Click 事件過程。10.4 數(shù)據(jù)環(huán)境l數(shù)據(jù)環(huán)境(DataEnvironment) 指在創(chuàng)建或使用一個對象時需要打開的全部表、視圖和關(guān)系。2數(shù)據(jù)源(Datasource) 指數(shù)據(jù)庫和訪問該數(shù)據(jù)庫所需的信息。3. 數(shù)據(jù)綁定(DataBinding)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年4-甲基哌啶項目可行性研究報告
- 2024至2030年中國強化拉鏈行業(yè)投資前景及策略咨詢研究報告
- 創(chuàng)意辦公家具設(shè)計方案分享匯報
- 小學(xué)六年級食品安全
- 2024至2030年中國EPE定位包裝行業(yè)投資前景及策略咨詢研究報告
- 2024年莫式錐柄硬質(zhì)合金螺旋立銑刀項目可行性研究報告
- 2024年牽引用蓄電池項目可行性研究報告
- 2024年中國蘑菇式裘皮帽市場調(diào)查研究報告
- 2024年中國耐磨襯板對輥機市場調(diào)查研究報告
- 智能家居遠程控制技術(shù)的設(shè)計與實踐
- 企業(yè)清算會計報表(共4表).xls
- 采油工程-典型示功圖分析
- 臥式儲罐焊接結(jié)構(gòu)和工藝設(shè)計
- 暖通工程施工組織專項設(shè)計方案
- 鐵路超限超重貨物運輸規(guī)則(2012)
- 《如何成為一個頂尖的銷售人員》(PPT54頁)
- 苯乙烯_馬來酸酐接枝聚乙烯蠟的研究
- SL702015灌溉與排水工程規(guī)范施工質(zhì)量評定表修正
- 船板認證基礎(chǔ)知識
- 利用基本不等式求最值的常見方法ppt課件
- 美卓山特維克破碎機配件2
評論
0/150
提交評論