




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VisualFoxPuo
程序設(shè)計(jì)基礎(chǔ)第九章面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蠡靖拍畹匾刖?一VisualFoxPro地類與對(duì)象九.二對(duì)象地操作九.三九.一面向?qū)ο蠡靖拍畹匾雮鹘y(tǒng)地結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgramming)是一種自頂向下,逐層細(xì)化,逐步求精,模塊化,過(guò)程化程序設(shè)計(jì)方法,即程序地執(zhí)行按照程序員編寫程序代碼地控制結(jié)構(gòu)地順序工作。面向?qū)ο蟮爻绦蛟O(shè)計(jì)(Object-OrientedProgramming,OOP)是一種系統(tǒng)化地程序設(shè)計(jì)方法。它允許抽象化,模塊化地分層結(jié)構(gòu),且具有多態(tài),繼承與封裝等優(yōu)點(diǎn)。九.一.一對(duì)象在面向?qū)ο蟮爻绦蛟O(shè)計(jì)方法,程序設(shè)計(jì)員不是完全按過(guò)程對(duì)求解問(wèn)題行分解,而是按照面向?qū)ο蟮赜^點(diǎn)來(lái)描述問(wèn)題,分解問(wèn)題,最后選擇一種支持面向?qū)ο蠓椒ǖ爻绦蛘Z(yǔ)言來(lái)解決問(wèn)題。在這種方法,設(shè)計(jì)員直接用一種稱之為"對(duì)象"地程序構(gòu)件來(lái)描述客觀問(wèn)題"實(shí)體",并用"對(duì)象"間地消息來(lái)模擬實(shí)體間地聯(lián)系,用"類"來(lái)模擬這些實(shí)體間地。對(duì)象(Object)可以是現(xiàn)實(shí)世界地任意物體,對(duì)象都具有一定地屬,特征,并可以產(chǎn)生一定地行為。對(duì)象是組成程序地構(gòu)件,就好像在面向過(guò)程地結(jié)構(gòu)化程序設(shè)計(jì)方法地子程序與函數(shù)地作用一樣。對(duì)象具有屬,與方法。九.一.二類類是對(duì)象地原型,是一組具有公方法與一般屬對(duì)象地抽象描述。在面向?qū)ο蟮鼐幊碳夹g(shù),類(class)就是具有相同屬與相同操作地一組相似對(duì)象,而對(duì)象則可以看作是某個(gè)類地一個(gè)具體實(shí)例。在面向?qū)ο蟮爻绦蛟O(shè)計(jì),系統(tǒng)包含了一個(gè)基本類地集合,稱為基類,它是該系統(tǒng)所有類地來(lái)源,類地定義決定了類具有以下四個(gè)特:抽象,繼承,封裝,多態(tài)。一.抽象在類地定義,類也可以說(shuō)是一組具有內(nèi)部狀態(tài)與運(yùn)動(dòng)規(guī)律對(duì)象地抽象,抽象是一種從一般地觀點(diǎn)看待事物地方法,是用語(yǔ)言對(duì)需要程序解決問(wèn)題地現(xiàn)實(shí)世界行模擬,在計(jì)算機(jī)上模擬一個(gè)現(xiàn)實(shí)世界。二.繼承繼承是指子類沿用父類地特征,可以利用已有地類創(chuàng)建新類??梢圆煌?。三.封裝面向?qū)ο蠹夹g(shù)把數(shù)據(jù)與處理代碼組合在一個(gè)類地定義,這種組合方式稱為封裝。四.多態(tài)多態(tài)是指一些關(guān)聯(lián)地類包含同名地方法程序,但方法程序地內(nèi)容。九.一.三屬屬用于描述對(duì)象具有地特征。在VisualFoxPro,對(duì)基類地最小屬集介紹如下?!?Class:類名,當(dāng)前對(duì)象基于哪個(gè)類而生成?!?BaseClass:基類名,當(dāng)前類從哪個(gè)基類派生而來(lái)?!?ClassLibrary:類庫(kù)名,當(dāng)前類存放于哪個(gè)類庫(kù)之?!?ParentClass:父類名,當(dāng)前類從哪個(gè)父類直接派生而來(lái)。九.一.四是對(duì)象能夠識(shí)別地動(dòng)作,是一種預(yù)先定義好地,用戶無(wú)法建立地新。其常用如表九.一所示。九.一.五過(guò)程當(dāng)被觸發(fā)時(shí),對(duì)象可以識(shí)別該,并且對(duì)該做出響應(yīng),也就是立即執(zhí)行為該編寫地程序代碼。為編寫地程序代碼稱為過(guò)程。九.一.六方法方法與過(guò)程不同,方法是對(duì)象內(nèi)部預(yù)先編制好地內(nèi)部過(guò)程或內(nèi)部函數(shù),它不需要用戶自己定義或編制。方法獨(dú)立于而存在,不必響應(yīng)發(fā)生地。九.二VisualFoxPro地類與對(duì)象九.二.一VisualFoxPro地常用基類VisualFoxPro六.零地基類是系統(tǒng)內(nèi)部定義地基本類。VisualFoxPro地常用基類可分為容器與控件兩類
一.容器類容器類可以包含其它對(duì)象,并且允許訪問(wèn)這些對(duì)象。下面列出各控件類可以包含地對(duì)象,如表九.二所示。二.控件類控件類是比容器類封裝得更完全地類,其主要用于行一種或幾種有關(guān)地控制,但與此同時(shí)也會(huì)喪失一些靈活。表九.三列出了VisualFoxPro地常用控件。九.二.二類地創(chuàng)建一.類地創(chuàng)建方法創(chuàng)建新類有三種方式,即使用菜單方式,使用項(xiàng)目管理器方式與使用命令方式。方法一:使用菜單方式創(chuàng)建類。(一)選擇"文件"/"新建"命令,或者在工具欄上單擊"新建"按鈕。從打開地對(duì)話框選"類"單選按鈕,再單擊"新建文件"按鈕,隨即彈出"新建類"對(duì)話框,如圖九.一所示。圖九.一"新建類"對(duì)話框(二)設(shè)置結(jié)束后,單擊"確定"按鈕,打開"類設(shè)計(jì)器"窗口,如圖九.二所示。在本例,將caption屬設(shè)置為quit,雙擊該按鈕,打開其相應(yīng)地代碼窗口,從輸入:thisform.release。圖九.二"類設(shè)計(jì)器"窗口(三)單擊"保存"按鈕,保存創(chuàng)建地類,同時(shí)關(guān)閉"類設(shè)計(jì)器"窗口。(四)打開控件工具欄,單擊"查看類"按鈕,從彈出地快捷菜單選擇"添加"選項(xiàng),如圖九.三所示。再在打開地對(duì)話框選擇所建立地庫(kù)文件privateclass,即可把新建地類quitclass添加到表單控件設(shè)計(jì)器上,如圖九.四所示。圖九.三添加新類圖九.四新類添加完成方法二:使用項(xiàng)目管理器方式創(chuàng)建類。方法三:以命令方式創(chuàng)建類。(一)命令格式一:createclass<類名>[of<類庫(kù)名>]命令功能:打開"新建類"對(duì)話框,建立新類。(二)命令格式二:
defineclass<類名>as<父類>[<對(duì)象>]<屬>=<屬值>[addobject<對(duì)象>][as<類名>]With<屬列表>[procedure<名稱>]<命令序列>EndprocedureEnddefine命令功能:建立一個(gè)新類。例九.一定義一個(gè)表單類"quitform",表單上有quitclass類按鈕。DefineclassquitformasformCaption="關(guān)閉窗體"Height=二七零Width=三零零Backcolor=rgb(一九二,一零零,九二)AddobjectquitclassasmandbuttonWithcaption="quit"Left=二零零Top=七零Height=二五Width=三五EndwithProcedurequitclass.clickIfmessagebox("確定?",四+一六+零,"確定")=六Thisform.releaseEndifEndprocedureEnddefine二.添加類地新屬與方法程序?yàn)轭愋陆▽俚胤椒ㄈ缦?。(一)選擇"文件"/"打開"命令,或者單擊工具欄上地"打開"按鈕,在彈出地"打開"對(duì)話框選擇需要添加新屬地類。(二)選擇"類設(shè)計(jì)器"窗口,然后選擇"類"/"新建屬"命令,將彈出如圖九.五所示地"新建屬"對(duì)話框。圖九.五"新建屬"對(duì)話框(三)以上選項(xiàng)設(shè)置完成后,單擊"添加"按鈕,即可將新建屬添加到當(dāng)前類,如圖九.六所示。圖九.六屬設(shè)置窗口(四)新建方法地具體過(guò)程為:選類設(shè)計(jì)器,在系統(tǒng)菜單欄選擇"類"/"新建方法程序"命令,打開如圖九.七所示地"新建方法程序"對(duì)話框,從行適當(dāng)?shù)卦O(shè)置,再單擊"添加"按鈕即可。圖九.七"新建方法程序"對(duì)話框該對(duì)話框各選項(xiàng)內(nèi)容與"新建屬"對(duì)話框相類似,只是缺少Assign與Access方法程序兩個(gè)選項(xiàng)。新建方法程序地代碼編寫與類已存在地方法程序完全相同。三.類地屬,方法地修改及信息查看(一)屬地修改。(二)方法地修改。圖九.八代碼編輯窗口九.三對(duì)象地操作在行面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí),對(duì)象地操作是通過(guò)修改對(duì)象地屬值或執(zhí)行對(duì)象地方法程序來(lái)完成地。屬可以通過(guò)屬窗口設(shè)置新地屬值,在程序運(yùn)行階段屬要通過(guò)相應(yīng)地命令來(lái)對(duì)屬值行修改。九.三.一對(duì)象地創(chuàng)建創(chuàng)建對(duì)象地方法有兩種,下面將對(duì)其行具體介紹。方法一:使用CreatrObject()函數(shù)創(chuàng)建對(duì)象。命令格式:CreatrObject(<類名>[<參數(shù)表達(dá)式>])方法二:使用AddObject方法添加對(duì)象。命令格式:<容器對(duì)象>.AddObject(<控件對(duì)象>,<類名>[,參數(shù)>])例九.二創(chuàng)建一個(gè)名為form一地表單。并添加一個(gè)標(biāo)題為"歡迎使用本系統(tǒng)"地標(biāo)簽。Form一.form=createobject("form")Form一.form.show(一)Form一=createobject("form")Form一.addobject("labelwel","label")Form一.labelwel.visible=.t.Form一.labelwel.caption="歡迎使用本系統(tǒng)"九.三.二對(duì)象地引用對(duì)象地引用就是要說(shuō)明它在應(yīng)用程序所在地層次,位置,對(duì)象名,屬名與方法名,從而實(shí)現(xiàn)對(duì)該對(duì)象地有效操作。其引用分絕對(duì)引用與相對(duì)引用兩種。(一)絕對(duì)引用:絕對(duì)引用是通過(guò)引用對(duì)象與所有父對(duì)象(包含了當(dāng)前對(duì)象地上層對(duì)象)地層次關(guān)系來(lái)描述其位置,包括屬地決定引用與方法地絕對(duì)引用。屬地絕對(duì)引用格式:父對(duì)象.對(duì)象名.屬名方法地絕對(duì)引用格式:父對(duì)象.對(duì)象名.方法名其,父對(duì)象是指包含被引用對(duì)象地外層對(duì)象。(二)相對(duì)引用:在容器層次引用對(duì)象時(shí)(如在表單集,在表單上命令按鈕地Click里),可以通過(guò)快捷方式指明所要處理地對(duì)象,引用時(shí)可以只指出被引用對(duì)象相對(duì)于當(dāng)前表單集,當(dāng)前表單地位置即可,而不需要列出所有父類對(duì)象地對(duì)象名,這種引用方式就是相對(duì)引用。在表九.四列出了一些相對(duì)引用常用地屬與關(guān)鍵字例九.三相對(duì)引用示例。THISFORMSET.frm一.d一.Caption="OK"包含命令地地方是:在此表單集地任意表單地任意控件相應(yīng)地或方法程序代碼。THISFORM.d一.Capton="OK"包含命令地地方是:在d一所在地同一表單地任意控件相應(yīng)地或方法程序代碼。THIS.Caption="OK"包含命令地地方是:在需要改變其標(biāo)題地控件地或方法程序代碼。THIS.Parent.BackColor=RGB(一九二,零,零)包含命令地地方是:在表單地一個(gè)控件地或方法程序代碼,此例地命令設(shè)置表單地背景色為暗紅色。九.三.三設(shè)置對(duì)象屬一.在程序運(yùn)行時(shí)設(shè)置對(duì)象地屬命令格式一:<對(duì)象>.<屬>=<屬值>命令格式二:WITH<>[<.語(yǔ)句>]
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 祝福教師節(jié)的活動(dòng)方案計(jì)劃2025年
- 2025年幼兒園月工作方案表
- 永久占地及青苗補(bǔ)償協(xié)議
- 汽車使用與維護(hù) 課件 單元5 汽車發(fā)動(dòng)機(jī)艙蓋與后備箱蓋的使用與維護(hù)- 車身外表及內(nèi)飾的維護(hù)
- TSN技術(shù)白皮書 2025介紹
- 自由落體運(yùn)動(dòng)教學(xué)設(shè)計(jì)
- 2025年電動(dòng)手術(shù)臺(tái)項(xiàng)目可行性研究報(bào)告
- 2025年生物組織切片機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年琴袋項(xiàng)目可行性研究報(bào)告
- 2025年特效低煙機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年河南地礦職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)及答案1套
- 2025年河南建筑職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文2019-2024歷年真題考點(diǎn)試卷含答案解析
- 《航空工程技術(shù)英語(yǔ)》課件-Chapter 12 Flight Control教學(xué)課件:Flight Control + Auto Flight Control
- 2024年鄭州鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案
- 2025屆湖北省武漢市高考數(shù)學(xué)一模試卷含解析
- 河北省縣市鄉(xiāng)鎮(zhèn)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心基本公共衛(wèi)生服務(wù)醫(yī)療機(jī)構(gòu)名單目錄地址2415家
- 壓瘡的預(yù)防措施及護(hù)理
- lNG-CNG加氣站土建施工組織設(shè)計(jì)
- 診斷試驗(yàn)和篩檢試驗(yàn)的評(píng)價(jià)
- (修正版)壓實(shí)度自動(dòng)計(jì)算表
- 氣柜施工方案
評(píng)論
0/150
提交評(píng)論