面向?qū)ο罂梢暬幊袒A_第1頁
面向?qū)ο罂梢暬幊袒A_第2頁
面向?qū)ο罂梢暬幊袒A_第3頁
面向?qū)ο罂梢暬幊袒A_第4頁
面向?qū)ο罂梢暬幊袒A_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O計1面向?qū)ο蟪绦蛟O計概述 一、面向?qū)ο蟪绦蛟O計概念 1對象 對象是對客觀存在的具體事物的表示。 對象有屬性和方法。2類類是具有相同屬性和方法的一組對象的集合。在OOP方法中,“類”是對現(xiàn)實世界的一種高度抽象。從程序設計者的角度觀察,“類”是一個數(shù)據(jù)模式和若干個程序過程經(jīng)封裝而形成的一個整體,它是使用信息技術(shù)對現(xiàn)實世界的一種模擬與抽象,而“對象”則是“類”的一個實例,是OOP方法中構(gòu)成程序的基本單位。 23屬性屬性是對象的一組特征數(shù)據(jù)。每個對象都有多個屬性來描述,不同的對象可以有相同的屬性,但必須有不同的屬性值來區(qū)分他們。 4事件與方法事件是對象觸發(fā)的行為描述,它是預先定義好的動作

2、,通過用戶的操作或系統(tǒng)來激活。事件是通過用戶的交互操作產(chǎn)生的。 方法是與對象相關的過程,通過調(diào)用對象的方法,可以完成某些任務,所以方法是需要顯示調(diào)用的。 35封裝性、繼承性和多態(tài)性OOP的方法中有3個基本特性:封裝性、繼承性和多態(tài)性。封裝性,是使抽象性成為可能,簡單的說就是信息隱藏。我們把事物的共同屬性和方法封裝在一起,從而讓使用者,不必了解其是怎樣實現(xiàn)的。 繼承性是面向?qū)ο蟪绦蛟O計中的一個重要概念,它是從現(xiàn)有的類中派生出新的類的特性。通過對父類的繼承,可以避免數(shù)據(jù)和方法的重復,實現(xiàn)了代碼的可重用性,為代碼的維護提供了極大方便。具體而言,就是一個類可以有子類,子類將繼承其父類的屬性和方法,并可

3、以定義自己特定的屬性和方法。 多態(tài)性主要是指一些關聯(lián)的類包含同名的方法,但方法的內(nèi)容可以不同。具體調(diào)用哪種方法應在運行時根據(jù)具體對象所屬的類確定。 4面向?qū)ο蟪绦蛟O計方法一、Visual FoxPro中的基類 Visual FoxPro中有兩大基類:容器類和控件類。因此Visual FoxPro中的對象也分為兩大類型,容器對象和控件對象。Visual FoxPro中提供了21種常用基類,每一個基類對應一個Visual FoxPro工具欄的圖形按鈕。1容器類容器類對象可以包含其他對象,并允許訪問這些對象。2控件類控件類是可以包含在容器類中并可以由用戶派生的Visual FoxPro基類??丶惒?/p>

4、能包含其他對象,其封裝比容器類更嚴密。當需要訪問放入到容器中的控件對象時,需要經(jīng)過容器進行引用。其基本格式:容器對象.控件對象.屬性屬性值 5二、類的創(chuàng)建創(chuàng)建類的操作主要有兩種方式:用類設計器創(chuàng)建類和以編程方式定義類。 用類設計器創(chuàng)建類 以編程方式定義類 【例】通過編程的方式定義一個類。代碼如下:DEFINE CLASS MyForm AS FORM & 定義Form類的子類MyFormHEIGHT=7WIDTH=60ADD OBJECT Button AS COMMANDBUTTON; & 為MyForm添加一個按鈕對象 WITH caption=”按鈕”,; width=10ENDDEFI

5、NE 6三、對象的操作對象就是類的一個實例,在面向?qū)ο蟮某绦蛟O計中,最終的程序功能的完成是由對象去做的。 1、由類創(chuàng)建對象 (1)創(chuàng)建對象 【格式】CREATEOBJECT(“類名”)例如:F1CREATEOBJECT(“Form”) & 創(chuàng)建一個Form類的對象F1B1=CREATEOBJECT(“CommandButton”) & 創(chuàng)建一個CommandButton類的對象B17(2)釋放對象對象作為內(nèi)存中的變量,將占用著內(nèi)存資源。當我們不需要某些對象時,就可以釋放對象 .【格式】RELEASE |ALL LIKE 例如:RELEASE F1 & 釋放對象F1RELEASE ALL LIK

6、E B* & 釋放所有名字以“B”開頭的對象 8如果我們要引用對象“Text1”,并將其“Caption”屬性設置為“控件”,則可以進行的操作是:Thisform.pageframe1.page1.text1.Caption=”控件” 除了可以通過層次關系直接的引用對象,我們還可以從相對位置進行對象引用。常用的關鍵字有:Parent:當前對象的父容器This:當前對象ThisForm:包含當前對象的表單(3)對象的引用在Visual FoxPro中引用一個對象,需要知道這個對象相對于容器的層次關系。 92設置對象屬性對象的屬性承載著與對象相關的某些數(shù)據(jù)信息,其值可以在設計階段設置,也可以在程序

7、運行過程中進行修改。設置對象屬性的語法是如下?!靖袷?】【格式2】WITH 屬性名1屬性值1 屬性名n屬性值nENDWITH格式1:對于對象的一個屬性進行設置值。格式2:可以同時為對象的多個屬性設置值。 10【例】設計一個表單程序。表單對象中,包含一個標簽,一個文本框和一個命令按鈕對象。AddObject()方法。它的作用是在一個容器對象中添加一個對象。格式:.AddObject(,)設計步驟如下:*新建一個表單對象,表單中包含一個標簽,一個文本框和一個命令按鈕form=CreateObject(form) & 創(chuàng)建表單對象“form”form.caption=一個表單程序 & 設置“form

8、”的標題屬性form.AddObject(label1,Label) & “form”上加入一個標簽form.AddObject(edit1,TextBox) & 加入一個文本框?qū)ο骹orm.AddObject(command1,CommandButton) & 加入一個按鈕對象form.label1.Top=10 & 設置標簽對象的頂端高度11form.label1.Visible=.T. & 設置標簽可見form.label1.Caption=請輸入姓名: & 設置標簽的標題form.label1.AutoSize=.T. & 設置標簽自動調(diào)整大小form.edit1.Top=40 & 設

9、置文本框頂端高度form.edit1.width=300 & 設置文本框?qū)挾萬orm.edit1.Visible=.T. & 設置文本框可見mand1.Caption=命令按鈕 & 設置按鈕標題mand1.Visible=.T. & 設置按鈕可見mand1.Top=70 & 設置按鈕的頂端高度mand1.Left=20 & 設置按鈕的左端寬度form.show(1) & 顯示表單對象123調(diào)用對象方法【格式】對象名.方法名例如:Form1.Refresh & 重畫表單Form1,并刷新所有值每個對象的方法有很多,并且不同的對象可以有相同的方法。方法名稱方法功能AddItem給ComboBox或

10、ListBox控件新增一項Box在表單對象上畫一個矩形Circle在表單對象上畫一個圓Clear清除組合框或列表框中的內(nèi)容Cls清除表單上的圖形或文本Hide隱藏表單或表單集Line在表單上畫直線Refresh刷新表單Move移動對象SetFocus為對象設置焦點Print在表單上打印字符串134觸發(fā)對象事件事件是預先設定好的特定動作,由用戶或系統(tǒng)來激活。用戶是不能創(chuàng)建新事件的,這點跟方法不一樣。在平常的計算機操作中,我們做出某些動作后,將引發(fā)相應的事件。事件名稱觸發(fā)事件說明CLICK當單擊鼠標左鍵時觸發(fā)事件DblClick當雙擊鼠標左鍵時觸發(fā)事件DragDrop當拖放鼠標時觸發(fā)事件Right

11、Click當單擊鼠標右鍵時觸發(fā)事件MouseDown當按下鼠標時觸發(fā)事件KeyPress當按下并放開鍵盤時觸發(fā)事件Deleted當執(zhí)行刪除記錄操作時觸發(fā)事件GetFocus當控件對象獲得焦點時觸發(fā)事件Activate當表單或表單集被激活或者ToolBar對象顯示時觸發(fā)事件Load當載入表單到內(nèi)存時觸發(fā)事件Resize當對象改變大小時觸發(fā)事件LostFocus當控件對象失去焦點時觸發(fā)事件TimerTimer對象每個n毫秒將自動觸發(fā)事件,n值由Interval屬性設定14表單設計及運行 15表單的創(chuàng)建與運行 表單實際上就是Visual FoxPro系統(tǒng)提供的一個容器,它可以加入許多其他的控件對象和

12、容器對象。 16一、用表單設計器創(chuàng)建表單 1打開表單設計器 2表單控件工具欄 3設計表單中的對象 (1)添加控件對象 (2)刪除表單中的對象 (3)設置對象屬性4表單設計實例【例】設計一個如前圖所示的表單,實現(xiàn)學生信息的瀏覽。本示例是設計一個“學生信息瀏覽”程序,涉及到對學生表的訪問,這里暫時不做數(shù)據(jù)的連接。 17二、用表單向?qū)?chuàng)建表單1打開表單向?qū)?(1)在項目項目管理器中打開。 (2)在工具菜單中打開。2用表單向?qū)гO計表單【例】用表單向?qū)瓿陕毠ば畔g覽。3用一對多表單向?qū)гO計表單當我們需要針對兩個存在一對多關系的表創(chuàng)建表單時,就要選擇一對多表單向?qū)Я恕?【例】使用一對多表單向?qū)Ы⒁粋€職

13、工工資情況的表單程序。18三、用表單生成器創(chuàng)建表單1快速表單【例】用表單生成器設計一個表單。2快速添加字段19四、運行表單 在表單設計器中運行表單在程序中運行表單通過菜單運行表單20設置表單一、表單的屬性屬性名稱說明AlwaysOnTop控制表單是否總在其他窗口之上AutoCenter控制表單初始化時是否自動居中BackColor設置表單窗口顏色BorderStyle設置表單的邊框類型Caption設置表單的標題文字Closable控制用戶是否能通過單擊“關閉”框來關閉表單MaxButton控制表單是否有最大化按鈕MinButton控制表單是否有最小化按鈕Movable控制表單是否能夠移動Sc

14、aleMode控制對象的度量單位是foxels或是象素Scrollbars控制表單滾動條的類型TitleBar控制表單是否在頂部顯示標題欄ShowWindow控制是否顯示表單WindowState控制表單的狀態(tài)是最小化、最大化或正常狀態(tài)21二、表單的事件與方法 事件或方法名稱說 明Init事件建立表單時觸發(fā)Destory事件釋放表單時觸發(fā)Click事件單擊表單時觸發(fā)Show方法顯示表單Hide方法隱藏表單Release方法釋放表單Refresh方法刷新表單22三、數(shù)據(jù)環(huán)境 當需要設計針對數(shù)據(jù)表操作的表單時,就需要設置表單的數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境是一個容器對象,它包含與表單向后作用的表或視圖,以及表單所要求的表之間的關系。 設置數(shù)據(jù)環(huán)境從數(shù)據(jù)環(huán)境

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論