15.1面向對象基礎
目的與要求: 通過本次課的學習,掌握VFP的子程序、過程與自定義函數(shù)。 | ||
教學內(nèi)容與時間安排、教學方法: 教學安排: 面向對象的程序設計的基本概念、面向對象的程序設計的特點 40分鐘 Visual FoxPro基類 40分鐘 教學方法: CAI、圖形、表格 | ||
教學重點及如何突出重點、難點及如何突破難點: 教學重點: 面向對象的基本概念、Visual FoxPro基類 教學難點: Visual FoxPro基類 | ||
基本內(nèi)容 | 教學 | 課堂設計 |
9.1 面向對象的程序設計的基本概念 一、對象 ★面向對象程序設計的基本單元是對象,對象是對客觀世界中事物的抽象?,F(xiàn)實世界的實體--事、物、概念等,都統(tǒng)稱為對象,而在面向對象系統(tǒng)中一切成份都是對象。例如在Visual FoxPro中數(shù)據(jù)庫是對象,數(shù)據(jù)庫中的表也是對象。表單是對象,表單上的控件也是對象。甚至整個應用系統(tǒng)和項目都是對象。 ★在Visual FoxPro中所有對象都具有屬性、事件和方法,對象是一個封裝了屬性、事件和方法的實體。屬性描述了對象的狀態(tài)和特征,可以由確定的值定義。事件是可以由對象識別的動作,每當對對象進行某種操作時,就會引發(fā)該事件所對應的程序代碼被執(zhí)行。方法是對象可以完成的操作過程,方法可以操作對象數(shù)據(jù),改變對象的狀態(tài)和特征 二、類 ★“類”源于日常生活中類別、分類的概念,“類”是將相同屬性和行為特征的對象,提取共同屬性和特征而產(chǎn)生的,是對象抽象化的結果。 ★類與對象既有區(qū)別,又有聯(lián)系。類是對象的藍圖和框架,類包含了有關對象的特征和行為信息,所有對象的屬性、事件和方法都是在定義類時被指定?!皩ο蟆笔穷惖木唧w實例,是將類所描述的共同特征賦予具體實體而形成的。 例如Visual FoxPro表單中的命令按鈕是一個對象,它是由命令按鈕類指定了外觀屬性和按鈕所響應的事件后所生成的。 |
講述 |
對象的概念5分鐘
類3分鐘 |
三、屬性 不同的對象可以擁有各種相同或不同的屬性,其中有些屬性是只讀并且無法改變的,而有些屬性則可以通過設定來改變。例如,命令按鈕的位置、大小、顏色、以及該按鈕面上是顯示文字還是圖形等狀態(tài),都可用屬性來表示。 四、事件 事件(Event)泛指由用戶或系統(tǒng)觸發(fā)的一種特定操作。例如用鼠標單擊命令按鈕,將會觸發(fā)一個Click事件。一個對象可以有多個事件,但每個事件都是由系統(tǒng)預先規(guī)定的,可以具有與之相關聯(lián)的方法程序。例如,為Click事件編寫的方法程序代碼將在Click事件出現(xiàn)時被執(zhí)行。 五、方法 方法程序是Visual FoxPro為對象內(nèi)定的通用過程,是指對象所固有的完成某種任務的功能,能使對象執(zhí)行一個操作,可由我們在需要的時候調用。方法程序可以作為事件代碼,也可以獨立于事件而單獨存在,但此類方法程序必須在代碼中被顯式地調用。 9.2 面向對象的程序設計的特點 面向對象的程序設計為編程帶來了方便,具有封裝性、繼承性和多態(tài)性三個重要特點。 一、封裝性 封裝實際上是一種信息隱藏技術。封裝的作用是將操作對象復雜的內(nèi)部和應用程序的其他設計部分隔離開,使得用戶在操作時,不需要去考慮它是如何執(zhí)行的。例如,當您對一個命令按鈕設置Caption屬性時,不必了解標題是如何和這個命令按鈕結合在一起的 二、繼承性 由類派生出來的類稱為子類,繼承性即子類延用父類特征的能力。一個子類可以擁有其父類的全部功能,在此基礎上,可以添加其他控件和功能。由于有繼承性,就使得在一個類上所做的改動可以反映到它的所有子類當中,若發(fā)現(xiàn)類中有一個小錯誤,用戶不必逐一修改各子類的代碼,只需要在父類中改動,然后這個變動將會體現(xiàn)在全部子類中。若類的層次具有多層,則這種繼承性還具有傳遞作用,即下層的子類可繼承父類的全部功能 三、多態(tài)性 多態(tài)性主要是指一些關聯(lián)的類包含同名的方法程序,但方法程序的內(nèi)容可以不同,具體調用哪種方法程序在運行時根據(jù)對象的類確定。例如,相關聯(lián)的幾個對象可以同時包含Draw方法程序,當某個過程將其中一個對象作為參數(shù)傳遞時,它不必知道該參數(shù)是何種類型的對象,只需調用Draw方法程序即可。
-----------本節(jié)課結束-----------
9.3 Visual FoxPro基類 一、基類 Visual FoxPro具有基類和自定義類?;愂荲isual FoxPro內(nèi)部定義的類,可以作為其他用戶自定義類的基礎 例如,Visual FoxPro表單和所有控件就是基類,用戶可以在此基礎上創(chuàng)建新類,增添自己需要的功能。表8-4列出了Visual FoxPro的主要基類 每個基類都可能有區(qū)別于其它基類的屬性、事件或方法,但Visual FoxPro基類至少包含以下三個事件(如表8-5所示)和四個屬性(如表8-6所示) 二、容器類和控件類 Visual FoxPro中的基類又可分為容器類和控件類。 容器類是包含其他相似類的Visual FoxPro基類,可以容納別的對象。 例如,一個表單可以包含一組控件類,將這些類作為一個整體進行操作。在表單中可以放入命令按鈕、復選框、編輯框、直線及文本框等控件。因此,表單可屬于容器類。 控件類是可以包含在容器類中并由用戶派生的Visual FoxPro基類??丶惒荒苋菁{其它對象,它的封裝性比容器類更為嚴密。
|
|
屬性5分鐘
事件10分鐘
方法5分鐘
面向對象的程序設計的特點7分鐘
基類的概念15分鐘
容器類和控件類20分鐘 |