




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第十一章面向?qū)ο罂梢暬幊袒A第1頁,共32頁,2023年,2月20日,星期三VisualFoxPro24.2面向?qū)ο蟪绦蛟O計和可視化設計工具使用第2頁,共32頁,2023年,2月20日,星期三VisualFoxPro3本節(jié)要求1.目的、要求
(1)掌握面向?qū)ο蟪绦蛟O計的基本概念:類、對象、事件、方法、屬性(2)了解面向?qū)ο蟪绦蛟O計思想(3)了解面向?qū)ο蟪绦蛟O計的設計方法2.重點、難點重點:面向?qū)ο蟪绦蛟O計基本概念的理解。難點:面向?qū)ο蟪绦蛟O計的設計方法???/p>
學
時:理論(2學時)第3頁,共32頁,2023年,2月20日,星期三VisualFoxPro44.2面向?qū)ο蟪绦蛟O計和可視化設計工具使用面向過程程序設計:就是前面所介紹的結構化程序設計,結構化程序設計強調(diào)了功能抽象和模塊性,它將解決問題的過程看作是一個處理過程。數(shù)據(jù)和施加于數(shù)據(jù)上的操作是分別設計的,以對數(shù)據(jù)進行操作的過程作為程序的主體。4.2.1面向?qū)ο蟪绦蛟O計的基本思想與VFP的實現(xiàn)方法1.面向?qū)ο蟪绦蛟O計的基本思想第4頁,共32頁,2023年,2月20日,星期三VisualFoxPro5面向?qū)ο蟪绦蛟O計:將數(shù)據(jù)及對數(shù)據(jù)的操作放在一起,作為一個相互依存,不可分割的整體來處理,它將對象及對對象的操作抽象成對象屬性和對象方法,這些對象的屬性就是要處理的數(shù)據(jù),而對象的方法就是對這些數(shù)據(jù)進行操作,面向?qū)ο蟪绦蛟O計就是通過對對象屬性方法的設置,達到對對象操作的目的?;靖拍睿簩ο?、類、子類、繼承、屬性、方法、事件等。面向?qū)ο蟪绦蛟O計:ObjectOrientedProgramming簡稱為OOP(1)對象(Object)對象(Object):是組成程序的構件。作為程序構件的“對象”是對現(xiàn)實世界中一個實體的一種模擬工具。例如:一個人,一個命令按鈕等都是對象。第5頁,共32頁,2023年,2月20日,星期三VisualFoxPro6對象是反映客觀事物屬性及行為特征的描述。每個對象都具有描述它的特征的屬性,及附屬于它的行為。一個人有姓名、性別、出生年月,命令按鈕有高度、寬度、顏色等。每個對象有自己的行為:如人可以站立、行走,命令按鈕可以單擊、雙擊等。(2)屬性(ATTRIBUTE)屬性:是對象的一組特征數(shù)據(jù)。①每個對象都有多個屬性來描述,不同的對象可以有相同的屬性,但必須有不同的屬性值來區(qū)分他們。例如:一個人有姓名、年齡、身高、體重等屬性,對象張三和對象李四具有相同的屬性,但他們有不同的屬性值,至少一個姓名屬性值為“張三”,另一個為“李四”。第6頁,共32頁,2023年,2月20日,星期三VisualFoxPro7②在VisualFoxPro中,一個對象的屬性就是該對象的一項數(shù)據(jù)特性。例如:一個標簽對象Label1,有字體(FontSize)、標題(Caption)、字體大?。‵ontSize)等屬性,同樣,不同的標簽對象間,必定有不同的屬性值來區(qū)分它們。(3)事件(Event)與方法(Means)①事件:事件是對象可能作出的行為或動作,屬于對象的靜態(tài)特征。它是預先定義好的動作,通過用戶的操作或系統(tǒng)來引發(fā),事件是通過用戶的交互操作產(chǎn)生的。在VFP統(tǒng)中,對象可以響應50多種事件。例如:一個人的坐、立、走都是人可以作出的動作。如命令按鈕的事件,系統(tǒng)規(guī)定了包括了單擊(click)、右鍵單擊(rightclick)等。第7頁,共32頁,2023年,2月20日,星期三VisualFoxPro8②方法:對象的方法是對于對象行為的描述。VFP中每個對象都可以有若干個方法,相同類型的對象具有相同的方法,不同類型的對象也可以具有相同的方法。③事件與方法的區(qū)別和聯(lián)系*事件和方法是兩個不同的概念。事件:是預先定義好的動作,是由用戶或系統(tǒng)引發(fā)的,是先有用戶的操作,然后才有事件的發(fā)生;方法:方法可以看作是對象具有的行為能力,它是對象用來實現(xiàn)某一任務的途徑。例如:在對象上單擊鼠標會執(zhí)行一個相應的命令或一段相應的程序,則有這個命令或這段程序就是這個對象的方法。第8頁,共32頁,2023年,2月20日,星期三VisualFoxPro9正常情況下,激活一個事件,將執(zhí)行相應的方法。如果這個事件沒有事先定義,則不可能發(fā)生這個事件;如果定義了事件,而事件的方法沒有事先設置,則對對象發(fā)生事件時不會有任何反映。方法靠事件進行引發(fā),所以二者是相互依賴,相輔相成的。例如:乘客登上飛機,觸發(fā)了一個“登機”的事件;飛機在飛行,是飛機這個對象,在執(zhí)行“飛行”這個方法,飛機具有飛行的能力。所以“登機”是一個事件,而“飛行”則是方法。*事件與方法緊密聯(lián)系第9頁,共32頁,2023年,2月20日,星期三VisualFoxPro10①
類的定義“類”:是具有相同屬性特征和行為規(guī)則的多個“對象”的一種統(tǒng)一描述。類就是對一類相似對象的屬性和行為特征的抽象描述?;蛘哒f,類是具有共同屬性、共同操作性質(zhì)的對象的集合。在VFP系統(tǒng)中,類就像是一個模板,對象都是由類生成的,類定義了對象所有的屬性、事件和方法,從而決定了對象的屬性和它的行為。VFP系統(tǒng)為用戶提供29個基類。對于一個學校的全體學生,描述其特征的數(shù)據(jù)模式是相同的。行為規(guī)則有不同的地方,也有相同的地方。但如果將行為的選擇加以一些限制,將引起學生反映的外部事件歸納為:(4)類(Class)第10頁,共32頁,2023年,2月20日,星期三VisualFoxPro11*
當一個學年度不及格科目超過學校規(guī)定時,這一部分學生應該留級或受到警示。*
完成規(guī)定科目的學習并考試合格者,學生的整體反映是畢業(yè)離校。一般管理信息系統(tǒng)中,系統(tǒng)的使用者和設計者所關心的問題正是這樣一些共性問題而并非一些很個體的問題,設計者對個體的行為進行分析、歸納、抽象,形成整個群體的共同行為規(guī)范,并把這種共同的行為規(guī)范用程序設計語言描述成程序過程,和描述該群體的特征數(shù)據(jù)模式一起進行封裝,這樣就完成了OOP方法中一個“類”的設計。*一個新學年度到來時,學生的整體反映應該是繳費報到。第11頁,共32頁,2023年,2月20日,星期三VisualFoxPro12類:是一個數(shù)據(jù)模式和若干個程序過程(稱為“方法程序”、一般一種行為用一個程序過程描述)經(jīng)封裝而形成的一個整體,它是使用信息技術對現(xiàn)實世界的一種模擬與抽象。對象:則是“類”的一個實例。用程序設計語言來說,“對象”可以不精確的理解為對一個“類”賦值的結果。“對象”是OOP方法中組成程序的一種構件??傊?,從程序設計者的角度觀察:②類的特性類具有多態(tài)性、封裝性、抽象性、繼承性等特性。*多態(tài)性:多態(tài)性主要是指允許相關的對象對同一消息做出不同的反應。第12頁,共32頁,2023年,2月20日,星期三VisualFoxPro13*封裝性:是指類的內(nèi)部信息對用戶是隱蔽的。由于類具有封裝性,因此不必被類的概念或類的抽象所困擾。在使用類時,用戶不需熟悉對象內(nèi)部的復雜性,只需掌握類的使用方法。例如:使用照相機照相時,無需了解照相機是怎樣設計的和內(nèi)部構造,只要會使用即可。類的封裝性使應用程序的可用性大大提高了。*抽象性:允許用戶忽略實施細節(jié),從更高的等級上考慮一個實體。繼承性:指通過繼承關系利用已有的類構造新類。任何一個基類都有它的屬性。即使用戶沒有定義,VFP系統(tǒng)也賦給基類相應的缺省值。*繼承性(Inheritance)第13頁,共32頁,2023年,2月20日,星期三VisualFoxPro14●對象能自動繼承創(chuàng)建它的類的功能?!?/p>
子類能自動繼承父類的功能?!?/p>
對一個類的改動能反映到它的所有子類中。2.VFP面向?qū)ο笏枷氲膶崿F(xiàn)方法VFP提供的設計器表單設計器菜單設計器報表設計器(1)VFP基類在VFP中,為了實現(xiàn)面向?qū)ο蟮某绦蛟O計或創(chuàng)建應用程序,系統(tǒng)提供了可以使用的基本類,即VFP基類。這個基類是系統(tǒng)本身內(nèi)含的,不存于某個類庫中。用戶可以基于基類生成所需的對象,也可以創(chuàng)建自己的類。217頁表4.7給出了VFP基類列表。第14頁,共32頁,2023年,2月20日,星期三VisualFoxPro15VFP中的基類容器類控件類每一個基類對應表單控件工具欄上的一個圖形按鈕:每一個VFP基類都有自己的一套屬性、方法和事件。①容器類容器類可以包含其他對象,并且允許訪問這些對象。例如:若創(chuàng)建一個含有兩個命令按鈕的容器類,而后將該類的一個對象加入表單中,那么無論在設計時刻還是在運行時刻,都可以對該容器中任何一個對象進行單獨操作。第15頁,共32頁,2023年,2月20日,星期三VisualFoxPro16不僅可以改變命令按鈕的位置、標題,也可以在設計階段給這個容器添加新對象。②控件類控件類的封裝比容器類更為嚴密,但也因此喪失了一些靈活性。他不能包含其他對象。最典型的控件類就是命令按鈕、文本。文本自身是一個對象,在文本中不可放其它對象。容器類雖然在引用時可以視為一個整體,但無論是在設計階段還是在運行階段,其所包含的對象都是可識別并可以單獨操作的。由控件類創(chuàng)造的對象,使用和修改需經(jīng)容器進行引用。第16頁,共32頁,2023年,2月20日,星期三VisualFoxPro17VFP中的對象容器對象控件對象(2)VFP對象VFP的對象由基類生成,VFP給出的各種控件工具欄提供了可以生成對象的按鈕,當選擇一個按鈕在表單上單擊或拖動畫出一個控件時,即生成了一個對象。①容器與控件控件:是一個以圖表化方式顯示出來并能與用戶進行交互的對象??丶ǔ1环胖糜谝粋€容器里。他不能包含其他對象。最典型的控件就是命令按鈕、文本。文本自身是一個對象,在文本中不可放其它對象。容器:是一種特殊控件,是可以包含其它對象的對象。書218頁表4.9列出了VFP中常用的容器及其所能包容的對象。第17頁,共32頁,2023年,2月20日,星期三VisualFoxPro18表單容器對象及所包容的對象情況命令按鈕標簽組合框文本框列表框表單控件工具欄頁框容器對象控件對象第18頁,共32頁,2023年,2月20日,星期三VisualFoxPro19②對象的引用在面向程序設計中,首先要明確下面幾個問題:容器中的對象仍然可以是一個容器,一般把一個“對象”的直接容器稱為“父容器”,在調(diào)用特定的對象時,搞清該對象的“父容器”是至關重要的,不能把一個對象的間接容器錯誤地視為其“父容器”。*容器中對象的層次*對象使用局域名每個對象都有一個名字。在給對象命名時,只要保證同一個“父容器”下的各對象不重名即可,換句話說,對象使用的是局域名,因此不能單獨使用對象名來調(diào)用對象,第19頁,共32頁,2023年,2月20日,星期三VisualFoxPro20書219頁圖4-25中的用對象的名稱:表單:Form1頁框:pageframe1頁名——page1,page2,page3標簽:lable1,lable2,lable3,lable4組合框:combo1,combo2文本框:text1,text1列表框:list1,list2命令按鈕:command1,command2以上是系統(tǒng)默認的名稱,用戶可以修改,例如:form1修改為“字體對話框”,page1—字體,lable1—中文字體,等等。第20頁,共32頁,2023年,2月20日,星期三VisualFoxPro21<表單集>.<表單名>.<容器名1>.<容器名2><對象名>以上格式所表示的是<對象名>中的對象,不是前面的部分,其間用小數(shù)點分隔。如果某個對象直接放在表單上,則引用時不應再寫容器名。*對象引用方式*
對象引用中的關鍵字及含義(見書220頁表4-10)This:表示當前對象Parent:表示當前對象的直接“父容器”ThisForm:表示包含當前對象的表單ThisFormSet:表示包含當前對象的表單所屬的表單集例如在圖4-25中:命令按鈕1的引用:mand1Text1引用:thisfrom.pagefrane1.page1.text1第21頁,共32頁,2023年,2月20日,星期三VisualFoxPro22①屬性窗口打開屬性窗口的方法:(3)VFP對象的屬性*顯示菜單/屬性*右擊表單空白處,快捷菜單/屬性對象組合框選項卡屬性設置框?qū)傩粤斜砜驅(qū)傩哉f明信息屬性窗口各部分功能:對象組合框——下拉列表中顯示當前表單、表單集及全部控件對象的列表。選擇任意對象,將在屬性列表框中列出有關這個對象的所有屬性、事件和方法程序供選擇設置。選項卡——包含5個選項卡,分別用來顯示對象的屬性、事件、方法程序等,各選項按字母順序排列。第22頁,共32頁,2023年,2月20日,星期三VisualFoxPro23【全部】:列出對象的所有屬性、事件、方法程序【數(shù)據(jù)】:列出所有顯示或操縱的數(shù)據(jù)屬性【方法程序】:對象的方法程序與事件,帶有EVENT的是事件,其余為方法程序?!静季帧浚簩ο蟮奈恢?、大小、顏色、字體等屬性?!酒渌浚侯愋畔⒑陀脩糇远x屬性等。注意:不同的對象,有不同的屬性值。屬性設置框——用于更改屬性值的文本框或組合框,左邊的三個按鈕“×”、“√”、“fx”可以取消和設置以及調(diào)用函數(shù)。屬性列表——給出在對象組合框選定的對象按選定選項卡分類后的各種屬性,包括屬性名和當前屬性值。如果選中某個屬性,其值會在屬性設置框中出現(xiàn),以供修改。第23頁,共32頁,2023年,2月20日,星期三VisualFoxPro24屬性說明信息——顯示在屬性列表中被選擇屬性的含義。②常用屬性介紹不同的對象有不同的屬性,有些對象屬性有上百個,有些屬性只是在特別需要時才用到,而有些屬性經(jīng)常用到,而且很多對象具有一些相同的屬性。書面221頁表4-12給出了一些常用或通用的屬性。③引用對象屬性格式:<對象引用>.<對象屬性>例如:圖4-25中,表單標題為“字體對話框”,表示如下:Thisform.coption=“字體對話框”將文本框text1輸入的值存入變量ww中,代碼為:ww=thisform.pagefrane1.page1.text1.value對象的引用對象的屬性第24頁,共32頁,2023年,2月20日,星期三VisualFoxPro25(1)Caption屬性——標題屬性指定對象標題中顯示的文本。(2)Name屬性指定在代碼中引用對象時所用的名稱。(3)AutoSize屬性——控件是否根據(jù)正文自動調(diào)整大小.T.——真:自動調(diào)整大小.F.——假(默認):保持原來設計時大小。正文太長,則自動裁剪掉。(4)Heigh屬性——指定對象在屏幕上的高度(5)Top屬性控件:指定相對父對象最頂端的所在的位置表單對象:確定表單頂部邊緣與VFP主窗口間距離VFP中的常用屬性第25頁,共32頁,2023年,2月20日,星期三VisualFoxPro26控件:相對父對象的左邊界距離表單:表單左邊界與VFP主窗口左邊界的距離(8)Enabled屬性——指定控件是否可用.T.——真:可用.F.——假:不可用,呈暗淡色,禁止用戶操作(9)Visible屬性——指定控件是否可見.T.——真:可見.F.——假:不可見,但控件本身存在(10)FontName屬性——指定對象顯示文本的字體名(11)FontSize屬性——指定對象文本字體大小(7)Left屬性第26頁,共32頁,2023年,2月20日,星期三VisualFoxPro27FontBold——是否為粗體FontItalic——是否斜體FontStrikethru——是否加一條刪除線FontUnderline——是否帶下劃線(13)ForeColor屬性——設置正文顏色(14)BackColor屬性——設置背景顏色(15)BackStyle屬性——設置背景風格透明:控件背景顏色不顯示不透明:控件設置背景顏色(12)指定文本效果屬性第27頁,共32頁,2023年,2月20日,星期三VisualFoxPro28無:控件周圍無邊框固定單線:控件帶有邊框(17)Alignment屬性——標簽、文本框、復選框中正文對齊方式。不同控件默認值不同。左:左對齊右:右對齊中間:正文居中(18)WordWrap屬性——AutoSize屬性為.T.時有效。.T.——真:垂直方向上改變區(qū)域大小,水平不變化。.F.——假:水平方向按正文的長度放大和縮小區(qū)域;在垂直方向以字體大小放大和縮小區(qū)域。(16)BordeStyle屬性——設置邊框風格第28頁,共32頁,2023年,2月20日,星期三VisualFoxPro29(20)Picture屬性——指定控件中顯示的位圖、圖標文件或通用字段。(21)TabIndes屬性——指定頁面上控件的【Tab】健的次序。(22)TabStop屬性——用戶是否可以使用【Tab】健把焦點移到對象上。(23)SpecialEffect屬性——形狀控件的不同樣式選項(24)Value屬性——指定控件的當前取值。(19)Style屬性——指定控件的樣式第29頁,共32頁,2023年,2月20日,星期三VisualFoxPro30(4)VFP事件①事件驅(qū)動方式面向?qū)ο蟪绦蛟O計的特點就是所有的操作都靠事件驅(qū)動,這些事件都是由系統(tǒng)預先定義,由系統(tǒng)或用戶觸發(fā),一旦觸發(fā)某個事件,系統(tǒng)就會轉(zhuǎn)去執(zhí)行與該事件對應的方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路養(yǎng)護施工合同范本
- 2025電力工程合同造價控制的管理
- 2025債權債務轉(zhuǎn)讓合同模板
- 廢舊油氈出售合同范本
- 交易店鋪轉(zhuǎn)讓合同范本
- 瑜伽勞動合同范本
- 廣西柳州市魚峰區(qū)二十五中學2024-2025學年下學期四調(diào)考試初三年級化學試題試卷含解析
- 2025屆江蘇省南京市南京一中高三第二學期5月份月考生物試題含解析
- 衡陽市石鼓區(qū)2024-2025學年重點中學小升初數(shù)學入學考試卷含解析
- 2025年黑龍江省齊齊哈爾市克東縣達標名校中考抽測英語試題樣題(A卷)試卷含答案
- Q-SY 05601-2019 油氣管道投產(chǎn)前檢查規(guī)范
- 《金屬非金屬地下礦山通信聯(lián)絡系統(tǒng)建設規(guī)范》
- 淺析船體分段焊接檢驗
- 醫(yī)?;鸨O(jiān)管培訓課件
- 2024高考復習必背英語詞匯3500單詞
- 3課 《赤壁賦》公開課一等獎創(chuàng)新教學設計【中職專用】高一語文高教版2023-2024-基礎模塊下冊
- 第5章 層次分析法課件
- 情感糾紛案件調(diào)解協(xié)議書
- 咯血護理疑難病例討論
- 《車間主任培訓》課件
- 感染性休克急救流程及應急預案
評論
0/150
提交評論