VBA面向?qū)ο蟪绦蛟O計_第1頁
VBA面向?qū)ο蟪绦蛟O計_第2頁
VBA面向?qū)ο蟪绦蛟O計_第3頁
VBA面向?qū)ο蟪绦蛟O計_第4頁
VBA面向?qū)ο蟪绦蛟O計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、9.1 面向?qū)ο蠡靖拍?面向?qū)ο蟮南到y(tǒng)觀不同于結(jié)構(gòu)化程序設計思想,基于面向?qū)ο蟮南到y(tǒng)觀認為,一個系統(tǒng)是由若干對象和這些對象間的交互構(gòu)造而成。面向?qū)ο笙到y(tǒng)觀反映了基于面向?qū)ο蟮姆椒ㄈ绾螛?gòu)造軟件系統(tǒng)。29.1.1 面向?qū)ο蠛诵母拍顚ο髮傩苑椒ê褪录涌谙㈩?對象對象就是現(xiàn)實或抽象世界中具有明確含義或邊界的事物。例如學生“江華”就是一個對象。對象是屬性和方法(或事件)的封裝體。VBA包括:窗體、命令按鈕、組合框等對象。這些對象用來構(gòu)成與用戶交互的界面元素4對象示意圖52. 屬性屬性用來刻畫對象所具備的特性,屬性具有屬性名和屬性值兩個部分。例如江華的籍貫為“江西贛州”“江西贛州”為學生“江華”的籍

2、貫屬性取值6屬性屬性取值不同,可以使對象具有不同的狀態(tài)。對圖形化界面中的命令按鈕來說,屬性用來控制其顯示的特性,例如“標題”屬性的取值為“確定”,決定命令按鈕上顯示的文字為“確定”。命令按鈕的“可用”屬性決定命令按鈕是否有效7命令按鈕部分屬性83. 方法和事件方法(或事件)是對象具有的某種處理功能,在程序代碼上表現(xiàn)為一個程序過程。例如學生“江華”的“注冊學籍”、“選修課程”操作就是學生對象具有的方法。9方法和事件不同之處對象的方法調(diào)用是使用特定格式的顯式調(diào)用事件的調(diào)用方式是隱式的。即通常不存在一條語句來說明事件被調(diào)用。事件的調(diào)用或觸發(fā)是由用戶的操作來實現(xiàn)的,這被稱為事件驅(qū)動。10事件例子例如:

3、命令按鈕上存在鼠標的單擊事件,當用戶使用鼠標指向該命令按鈕并單擊鼠標左鍵時,將觸發(fā)在命令按鈕上單擊事件中預先編寫的代碼。11命令按鈕具有的事件通常一個對象包括很多事件,命令按鈕具有的事件。124. 接口接口是對象的特殊屬性和方法(或事件),它表示一個對象為其他對象提供的服務。這些服務包括一個對象向其他對象公開的屬性和方法(或事件)。一個對象接口中的屬性和方法(或事件)為其他對象所知道,故其他對象通過發(fā)送消息到該對象來實現(xiàn)對象間的交互。135. 消息消息實現(xiàn)了對象間的交互。一個對象通過接口向外界公布其提供的屬性和方法(或事件),其他對象通過發(fā)送一個特定的消息來與這個對象進行交互,可能有結(jié)果返回到

4、發(fā)送消息的對象,也可能沒有結(jié)果返回發(fā)送消息的對象。消息的描述除了和對象公布的屬性和方法(或事件)有關外,它還有特定的格式。146. 類在面向?qū)ο蟪绦蛟O計中,為提高程序代碼的重用,一個特定對象的屬性和方法(或事件)由一個特定類來定義。類可以視為生產(chǎn)多個具有相同屬性和方法(或事件)的對象模板。一般利用類來組織相似的多個對象。15類在面向?qū)ο笙到y(tǒng)和程序中,具有相同結(jié)構(gòu)和功能的對象一般用類進行描述,并把一個特定對象稱為其所屬類的實例。類描述的是具有相同屬性和方法(或事件)的一組對象。16類的例子例如:江華和楊陽都是學生,即他們是“學生”類的實例,他們都具有“學號”、“姓名”等屬性,同時都具有“注冊學籍

5、”、“選修課程”等操作方法。為此面向?qū)ο蠓椒ㄖ刑岢鰧⒕哂邢嗤瑢傩院头椒ǎɑ蚴录ο蟪橄蟮筋惖姆椒?,即類是對象的抽象,而一個具體對象是某個類的實例。17類的例子由于類與對象使用相同的描述方式,即都具有屬性和方法(或事件)。這使得類、對象的概念容易混淆。將一個圖章看成是一個類,而圖章所蓋出的圖章印是一個對象。在面向?qū)ο蟾拍钪?,類是對象的抽象,對象是類的實例?89.1.2 類或?qū)ο蟮奶匦詫ο蟮目蓸俗R性類或?qū)ο蟮姆庋b性對象的狀態(tài)性對象的自治性類的繼承性注意區(qū)分:類還是對象的特性,或兩者共有的特性19對象的可標識性每個對象實例都有標識自己的名稱(Name)或標識號(英語為Identifier,簡寫為

6、ID)。例如,如果圖章具有自動改變序號功能,則每個實例化出來的圖章印,雖具有相同的屬性和操作,但它們具有不同的標識號序號不同。20對象可標識性示例左側(cè)選中的復選框名稱為Check0名稱“Check0”被用來標識左側(cè)的復選框?qū)ο蟆?12. 類或?qū)ο蟮姆庋b性類(或?qū)ο螅┑姆庋b性表現(xiàn)在對象將屬性和方法(或事件)封裝在對象中。對象封裝的好處是可以隱藏對象內(nèi)部的實現(xiàn)細節(jié),即所謂的信息隱蔽原則,也可以理解為黑箱。只關心它提供的功能,不關心對象的功能是如何編寫實現(xiàn)??梢远沤^由于某個對象的方法(或事件)改變對其他對象的影響,通過獨立的分治原則可以減低問題的復雜性。223. 對象的狀態(tài)性對象的狀態(tài)性是通過給對象

7、的屬性賦值來表現(xiàn)的。即對象的取值不同,對象就處于不同狀態(tài)。例如,學生“江華”對象。這里類為“學生”,類“學生”的姓名屬性值為“江華”。234. 對象的自治性由于對象是屬性和方法(或事件)的封裝體。對象狀態(tài)的改變是由該對象自身實施的。即其他對象通過發(fā)送消息,請求一個對象改變其狀態(tài),該對象的狀態(tài)是否改變?nèi)Q于該對象當前的狀態(tài),在某些狀態(tài)下可能無法改變該對象的狀態(tài),這稱為對象的自治性。245. 類的繼承性面向?qū)ο蟮母拍钪?,已?jīng)討論了類與對象間的關系,類與類之間是否存在關系呢?在語義上,一個類與另一個類之間可能存在類繼承關系。25類繼承的例子父類子類子類繼承了父類的所有屬性和方法(或事件)26類繼承的

8、例子2“汽車”類是一個抽象的類它具有一般汽車具有的屬性和方法(或事件),這里它被稱為父類(也被稱為基類)?!靶∑嚒鳖惔怼捌嚒鳖愊旅娴囊粋€分類,這里被稱為子類,子類繼承了父類的所有屬性和方法(或事件)。27類繼承的例子3由子類實例化所得對象的屬性和方法(或事件)包括在子類中定義的屬性和方法(或事件),在父(基)類中定義的屬性和方法(或事件)。28類繼承的優(yōu)點類繼承性的好處是可以減少代碼冗余。實現(xiàn)一次編碼,多處使用減少軟件系統(tǒng)開發(fā)工作減少軟件系統(tǒng)的維護工作量296. 對象的多態(tài)性(略)由于對象的自治性和狀態(tài)性相同調(diào)用,可以返回不同結(jié)果。307. 面向?qū)ο缶幊踢^程對于面向?qū)ο蟪绦蛟O計語言來說,

9、編寫具備特定功能程序的過程大致分為三步:(1)根據(jù)給出的實際問題,抽象出相關的名詞術(shù)語,再將這些名詞變成該系統(tǒng)中的各個核心概念類,類封裝了其代表核心概念的屬性和方法(或事件);(2)將類實例化為對象;(3)描述這些對象間的交互,即這些對象間的消息關系。31Access 2007面向?qū)ο缶幊谭謱映跫夒A段中級階段高級階段32(1)初級階段用戶不用編寫自己的類代碼,僅需將Access對象模型提供的類實例化為對象,再編寫這些對象間的交互部分的程序。33(1)初級階段2初級階段用戶使用的類庫是Access 2007的對象模型它提供了幾乎所有的Access 2007界面構(gòu)成元素的類庫34初級用戶操作構(gòu)造定

10、制窗體的過程是將相應的(控件)類實例化為對應(控件)對象的過程編寫代碼的過程描述多個對象間交互的過程。優(yōu)點編程簡單、編寫程序代碼可靠性高35初級階段特性初級階段的程序編寫主要強調(diào)對象的可標識性這是編程引用對象的基礎自治性狀態(tài)性36(2)中級階段中級階段是在初級的基礎上,增加了用戶自定義類,但這個類不從其他類繼承任何的屬性和方法(或事件),它僅僅是一個簡單的類。在這個階段,用戶除了初級階段工作,還需要將自己編寫的類先實例化為對象,再引用該對象對應的屬性和方法。37(3)高級階段高級階段的工作是在中級階段的基礎上增加的用戶自定義類涉及從其他類繼承了屬性和方法(或事件)。38類與對象之間的關系類與類關系類與對象關系對象與對象關系類與類間為繼承關系。類可以實例化到多個對象;多個對象抽象到一個類。對象與對象間是交互關系。對象間交互就是消息,消息中引用對象屬性和調(diào)用對象方法有嚴格格式39面向?qū)ο缶幊淌纠龢?gòu)造界面40面向?qū)ο缶幊淌纠?設置屬性例如設置“標題”屬性的取值41面向?qū)ο缶幊淌纠?編寫事件代碼42【例9-1】運行結(jié)果說明(1)當選中“可移動”復選框時,窗體可以移動;當沒有選中該復選框時,窗體不可移動。(2)單擊“面向?qū)ο蟪绦蛟O計示例一”單選框時,窗體標題顯示為“面向?qū)ο蟪绦蛟O計示例一”;當單擊“A Demonstration for Or

溫馨提示

  • 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

提交評論