版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java語言與面向?qū)ο蟪绦蛟O(shè)計,授課:,課程介紹,Java 具有的突出優(yōu)點(diǎn) 其一,Java 是面向?qū)ο蟮恼Z言,與現(xiàn)代面向?qū)ο蟮脑O(shè)計與分析的軟件工程相一致,也是當(dāng)前的主流程序設(shè)計語言之一。 其二,簡單易學(xué)。其中的數(shù)據(jù)類型、數(shù)據(jù)運(yùn)算、程序控制結(jié)構(gòu)等基本概念對于任何語言都是一致的;而其語法相對于C+等語言而言更簡單,更容易掌握。 其三,Java 語言就其本身而言支持一些高級特性,如多線程、異常處理、自動垃圾回收等,這些特性使Java 成為極優(yōu)秀的語言之一。 最后,Java 具有廣泛的用途。Java 具有跨平臺的特點(diǎn),在各種平臺上都有應(yīng)用,它還可以有效地進(jìn)行數(shù)據(jù)庫、多媒體及網(wǎng)絡(luò)的程序設(shè)計。不僅如此,J
2、ava 還與JavaScript 十分相似,而后者可以廣泛用于辦公軟件、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)服務(wù)程序等方面。,成績評定原則,考試方式 期中考試:筆試 100分 期末考試:筆試50分+上機(jī)操作50分 成績評定 總成績=期中成績+期末成績+上機(jī)操作+作業(yè)+考勤表現(xiàn) 期中成績20% 期末成績30% 上機(jī)操作30% 作業(yè)10% 考勤表現(xiàn)10%,第 1 章 Java 語言與面向?qū)ο蟮某绦蛟O(shè)計,1.1 Java 語言簡介 1.1.1 Java 語言出現(xiàn)的背景、影響及應(yīng)用前景 1.1.2 Java 的特點(diǎn) 1.1.3 Java 和C、C+ 1.2 面向?qū)ο蟪绦蛟O(shè)計 1.2.1 面向?qū)ο蟾攀?1.2.2 對象、類與
3、實(shí)體 1.2.3 對象的狀態(tài)與行為 1.2.4 對象的關(guān)系 1.2.5 面向?qū)ο蟮能浖_發(fā)過程,1.1 Java 語言簡介,Java 語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它的面向?qū)ο蟆⒖缙脚_、分布應(yīng)用等特點(diǎn)給編程人員帶來了一種嶄新的計算概念,使WWW 從最初的單純提供靜態(tài)信息發(fā)展到現(xiàn)在的提供各種各樣的動態(tài)服務(wù),產(chǎn)生了巨大的變化。Java 不僅能夠編寫小應(yīng)用程序?qū)崿F(xiàn)嵌入網(wǎng)頁的聲音和動畫功能,而且還能夠應(yīng)用于獨(dú)立的大中型應(yīng)用程序,其強(qiáng)大的網(wǎng)絡(luò)功能能夠把整個Internet 作為一個統(tǒng)一的運(yùn)行平臺,極大地拓展了傳統(tǒng)單機(jī)或Client/Server 模式應(yīng)用程序的外延和內(nèi)涵。自1995 年正式問世以來,Ja
4、va 已經(jīng)逐步從一種單純的計算機(jī)高級編程語言發(fā)展為一種重要的Internet 平臺,并進(jìn)而引發(fā)、帶動了Java 產(chǎn)業(yè)的發(fā)展壯大,成為當(dāng)今計算機(jī)業(yè)界不可忽視的力量和重要的發(fā)展潮流與方向。,1.1 Java 語言簡介,1.1.1 Java 語言出現(xiàn)的背景、影響及應(yīng)用前景 Java發(fā)展與出現(xiàn)背景 Oak語言(1991年)促成發(fā)展(1994年) Java的影響 需求分析、開發(fā)方法、動態(tài)效果、最終產(chǎn)品、價值 Java應(yīng)用前景廣泛,1.1 Java 語言簡介,1.1.2 Java 的特點(diǎn) 簡單易學(xué) 面向?qū)ο?平臺無關(guān)性 安全穩(wěn)定 支持多線程 很好的支持網(wǎng)絡(luò)編程 Java豐富的類庫,1.1 Java 語言簡
5、介,1.1.3 Java 和C、C+ 相同:變量聲明、參數(shù)傳遞、操作符、流控制 區(qū)別:全局變量、Goto語句、指針、 內(nèi)存管理、數(shù)據(jù)類型支持、類型轉(zhuǎn)換、 頭文件、結(jié)構(gòu)和聯(lián)合、預(yù)處理,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.1 面向?qū)ο蟾攀?Java 是面向?qū)ο蟮某绦蛟O(shè)計語言,面向?qū)ο蟮能浖_發(fā)和相應(yīng)的面向?qū)ο蟮膯栴}求解是當(dāng)今計算機(jī)技術(shù)發(fā)展的重要成果和趨勢之一。 面向過程的程序設(shè)計是以具體的解題過程為研究和實(shí)現(xiàn)的主體,而面向?qū)ο蟮某绦蛟O(shè)計是以需解決的問題中所涉及的各種對象為主體。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.1 面向?qū)ο蟾攀?定義:面向過程的程序設(shè)計是以具體的解題過程為研究和實(shí)現(xiàn)的主體,而面向?qū)?/p>
6、象的程序設(shè)計是以需解決的問題中所涉及的各種對象為主體。,1.2 面向?qū)ο蟪绦蛟O(shè)計,面向?qū)ο笾械膶ο螅?“對象”是現(xiàn)實(shí)世界的實(shí)體或概念在計算機(jī)邏輯中的抽象表示。具體地,對象是具有惟一對象名和固定對外接口的一組屬性和操作的集合,用來模擬組成或影響現(xiàn)實(shí)世界問題的一個或一組因素。其中對象名是區(qū)別于其他對象的標(biāo)志;對外接口是對象在約定好的運(yùn)行框架和消息傳遞機(jī)制中與外界通信的通道;對象的屬性表示它所處于的狀態(tài);而對象的操作則用來改變對象的狀態(tài)達(dá)到特定的功能。對象的最主要特點(diǎn)是以數(shù)據(jù)為中心,它是一個集成了數(shù)據(jù)和其上操作的獨(dú)立、自恰的邏輯單位。,1.2 面向?qū)ο蟪绦蛟O(shè)計,面向?qū)ο蟮膯栴}求解就是力圖從實(shí)際問題中
7、抽象出這些封裝了數(shù)據(jù)和操作的對象,通過定義屬性和操作來表述它們的特征和功能,通過定義接口來描述它們的地位及與其他對象的關(guān)系,最終形成一個廣泛聯(lián)系的可理解、可擴(kuò)充、可維護(hù)及更接近于問題本來面目的動態(tài)對象模型系統(tǒng)。 面向?qū)ο蟮某绦蛟O(shè)計將在面向?qū)ο蟮膯栴}求解所形成的對象模型基礎(chǔ)之上,選擇一種面向?qū)ο蟮母呒壵Z言來具體實(shí)現(xiàn)這個模型。,1.2 面向?qū)ο蟪绦蛟O(shè)計,面向?qū)ο蟪绦蛟O(shè)計是將數(shù)據(jù)及數(shù)據(jù)的操作封裝在一起,成為一個不可分割的整體,同時,將具有相同特征的對象抽象成為一種新的數(shù)據(jù)類型類。通過對象間的消息傳遞使整個系統(tǒng)運(yùn)轉(zhuǎn)。通過對象類的繼承提供代碼重用的有效途徑。 在面向?qū)ο蟪绦蛟O(shè)計方法中,其程序結(jié)構(gòu)是一個類
8、的集合和各類之間以繼承關(guān)系聯(lián)系起來的結(jié)構(gòu),有一個主程序,在主程序中定義各對象并規(guī)定它們之間傳遞消息的規(guī)律。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.2 對象、類與實(shí)體 對象的概念是面向?qū)ο蠹夹g(shù)的核心所在。以面向?qū)ο蟮挠^點(diǎn)來看,所有面向?qū)ο蟮某绦蚨际怯蓪ο蠼M成的,這些對象首先是自治、自恰的,同時它們還可以互相通信、協(xié)調(diào)和配合,從而共同完成整個程序的任務(wù)和功能。 更確切地,面向?qū)ο蠹夹g(shù)中的對象就是現(xiàn)實(shí)世界中某個具體的物理實(shí)體在計算機(jī)邏輯中的映射和體現(xiàn)。比如,電視機(jī)是一個具體存在的,擁有外形、尺寸、顏色等外部特性和開關(guān)、頻道設(shè)置等實(shí)在功能的實(shí)體,而這樣一個實(shí)體,在面向?qū)ο蟮某绦蛑?,就可以表達(dá)成一個計算機(jī)可
9、理解、可操縱、具有一定屬性和行為的對象。 類也是面向?qū)ο蠹夹g(shù)中一個非常重要的概念。簡單地說,類是同種對象的集合與抽象。類是一種抽象的數(shù)據(jù)類型,它是所有具有一定共性的對象的抽象,而屬于類的某一個對象則被稱為是類的一個實(shí)例,是類的一次實(shí)例化的結(jié)果。如果類是抽象的概念,如“電視機(jī)”,那么對象就是某一個具體的電視機(jī),如“我家那臺電視機(jī)”。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.3 對象的狀態(tài)與行為 對象都具有狀態(tài)和行為。 對象的狀態(tài)又稱為對象的靜態(tài)屬性,主要指對象內(nèi)部所包含的各種信息,也就是變量。每個對象個體都具有自己專有的內(nèi)部變量,這些變量的值標(biāo)明了對象所處的狀態(tài)。當(dāng)對象經(jīng)過某種操作和行為而發(fā)生狀態(tài)改變
10、時,具體地就體現(xiàn)為它的屬性變量的內(nèi)容的改變。通過檢查對象屬性變量的內(nèi)容,就可以了解這個對象當(dāng)前所處的狀態(tài)。仍然以電視機(jī)為例,每一個電視機(jī)都具有以下這些狀態(tài)信息:種類、品牌、外觀、大小、顏色、是否開啟、所在頻道等,這些狀態(tài)在計算機(jī)中都可以用變量來表示。 行為又稱為對象的操作,它主要表述對象的動態(tài)屬性,操作的作用是設(shè)置或改變對象的狀態(tài)。比如一個電視機(jī)可以有打開、關(guān)閉、調(diào)整音量、調(diào)節(jié)亮度、改變頻道等行為或操作。對象的操作一般都基于對象內(nèi)部的變量,并試圖改變這些變量(即改變對象的狀態(tài))。如“打開”的操作只對處于關(guān)閉狀態(tài)的電視機(jī)有效,而執(zhí)行了“打開”操作之后,電視機(jī)原有的關(guān)閉狀態(tài)將改變。對象的狀態(tài)在計算
11、機(jī)內(nèi)部是用變量來表示,而對象的行為在計算機(jī)內(nèi)部是用方法來表示的。方法實(shí)際上類似于面向過程中的函數(shù)。對象的行為或操作定義在其方法的內(nèi)部。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.4 對象的關(guān)系 對象之間存在的三種關(guān)系:包含、繼承和關(guān)聯(lián)。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.4 對象的關(guān)系 1包含 當(dāng)對象 A 是對象B 的屬性時,稱對象B 包含對象A。 當(dāng)一個對象包含另一個對象時,它將在自己的內(nèi)存空間中為這個被包含對象留出專門的空間,即被包含對象將被保存在包含它的對象內(nèi)部。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.4 對象的關(guān)系 2繼承 當(dāng)對象 A 是對象B 的特例時,稱對象A 繼承了對象B。 實(shí)際上,這里所說
12、的對象間的繼承關(guān)系就是后面要詳細(xì)介紹的類間的繼承關(guān)系。作為特例的類稱為子類,而子類所繼承的類稱為父類。父類是子類公共關(guān)系的集合,子類將在父類定義的公共屬性的基礎(chǔ)上,根據(jù)自己的特殊性特別定義自己的屬性。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.4 對象的關(guān)系 3關(guān)聯(lián) 當(dāng)對象 A 的引用是對象B 的屬性時,稱對象A 和對象B 之間是關(guān)聯(lián)關(guān)系。 所謂對象的引用是指對象的名稱、地址、句柄等可以獲取或操縱該對象的途徑。相對于對象本身,對象的引用所占用的內(nèi)存空間要少得多,它只是找到對象的一條線索。通過它,程序可以找到真正的對象,并訪問這個對象的數(shù)據(jù),調(diào)用這個對象的方法。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.5 面
13、向?qū)ο蟮能浖_發(fā)過程 面向?qū)ο蟮能浖_發(fā)過程可以大體劃分為 面向?qū)ο蟮姆治?Object Oriented Analysis,OOA)、 面向?qū)ο蟮脑O(shè)計(Object Oriented Design,OOD)、 面向?qū)ο蟮膶?shí)現(xiàn)(Object Oriented Programming,OOP)三個階段。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.5 面向?qū)ο蟮能浖_發(fā)過程 OOA 面向?qū)ο蟮姆治龅闹饕饔檬敲鞔_用戶的需求,并用標(biāo)準(zhǔn)化的面向?qū)ο蟮哪P鸵?guī)范地表述這一需求,最后將形成面向?qū)ο蟮姆治瞿P?,即OOA 模型。分析階段的工作應(yīng)該由用戶和開發(fā)人員共同協(xié)作完成。需求分析是要抽取存在于用戶需求中的各對象實(shí)體
14、,分析、明確這些對象實(shí)體的靜態(tài)數(shù)據(jù)屬性和動態(tài)操作屬性,以及它們之間的相互關(guān)系。更重要的是,要能夠反映出由多個對象組成的系統(tǒng)的整體功能和狀態(tài),包括各種狀態(tài)間的變遷及對象在這些變遷中的作用、在整個系統(tǒng)中的位置等。需求模型化方法是面向?qū)ο蟮姆治鲋谐S玫姆椒?。這種方法通過對需要解決的實(shí)際問題建立模型來抽取、描述對象實(shí)體,最后形成OOA 模型,將用戶的需求準(zhǔn)確地表達(dá)出來。OOA 模型有很多種設(shè)計和表達(dá)方法,如使用較為廣泛的Coad&Yourdon 的OOA 模型。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.5 面向?qū)ο蟮能浖_發(fā)過程 OOD 如果說分析階段應(yīng)該明確所要開發(fā)的軟件系統(tǒng)“干什么”,那么設(shè)計階段將明確
15、這個軟件系統(tǒng)“怎么做”。面向?qū)ο蟮脑O(shè)計將對OOA 模型加以擴(kuò)展并得到面向?qū)ο蟮脑O(shè)計階段的最終結(jié)果:OOD 模型。 面向?qū)ο蟮脑O(shè)計將在 OOA 模型的基礎(chǔ)上引入界面管理、任務(wù)管理和數(shù)據(jù)管理三部分的內(nèi)容,進(jìn)一步擴(kuò)充OOA 模型。其中,界面管理負(fù)責(zé)整個系統(tǒng)的人機(jī)界面的設(shè)計;任務(wù)管理負(fù)責(zé)處理并行操作之類的系統(tǒng)資源管理功能的工作;數(shù)據(jù)管理則負(fù)責(zé)設(shè)計系統(tǒng)與數(shù)據(jù)庫的接口。這三部分再加上OOA 模型代表的“問題邏輯”部分,就構(gòu)成了最初的OOD 模型。 面向?qū)ο蟮脑O(shè)計還需要對最初的OOD 模型做進(jìn)一步的細(xì)化分析、設(shè)計和驗(yàn)證。在“問題邏輯”部分,細(xì)化設(shè)計包括對類靜態(tài)數(shù)據(jù)屬性的確定,對類方法(即操作)的參數(shù)、返回值
16、、功能和功能的實(shí)現(xiàn)的明確規(guī)定等;細(xì)化驗(yàn)證主要指對各對象類公式間的相容性和一致性的驗(yàn)證,對各個類、類內(nèi)成員的訪問權(quán)限的嚴(yán)格合理性的驗(yàn)證,也包括驗(yàn)證對象類的功能是否符合用戶的需求。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.5 面向?qū)ο蟮能浖_發(fā)過程 OOP 面向?qū)ο蟮膶?shí)現(xiàn)就是具體的編碼階段,其主要任務(wù)包括: (1)選擇一種合適的面向?qū)ο蟮木幊陶Z言,如C+、Object Pascal、Java 等; (2)用選定的語言編碼實(shí)現(xiàn)詳細(xì)設(shè)計步驟所得的公式、圖表、說明和規(guī)則等對軟件系統(tǒng)各對象類的詳盡描述; (3)將編寫好的各個類代碼模塊根據(jù)類的相互關(guān)系集成; (4)利用開發(fā)人員提供的測試樣例和用戶提供的測試樣例分別檢驗(yàn)編碼完成的各個模塊和整個軟件系統(tǒng)。,1.2 面向?qū)ο蟪绦蛟O(shè)計,1.2.5 面向?qū)ο蟮能浖_發(fā)過程 綜上所述,面向?qū)ο蟮能浖_發(fā)可概括為如下過程:分析用戶需求,從問題中抽取對象模型;將模型細(xì)化、設(shè)計類,包括類的屬性和類間相互關(guān)系,同時考察是否有可以直接引用的已有類或部件;選定一種面向?qū)ο蟮木幊陶Z言,具體編碼實(shí)現(xiàn)上一階段類的設(shè)計,并在開發(fā)過程中引入測試,完善整個解決方案。,習(xí)題作業(yè),1.Java 語言有哪些主要特點(diǎn)? 2.簡述面向過程問題求解和面向?qū)ο髥栴}求解的異同。試列舉出面向?qū)ο蠛兔嫦蜻^程的編程語言各兩種。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職園林技術(shù)(園林植物病蟲害防治)試題及答案
- 2025年高職預(yù)防醫(yī)學(xué)(流行病調(diào)查)試題及答案
- 2025年高職??疲ㄞr(nóng)產(chǎn)品加工與質(zhì)量檢測)食品檢測綜合測試題及答案
- 2025年大學(xué)電氣工程及其自動化(智能控制技術(shù))試題及答案
- 2025年中職(客戶信息服務(wù))客戶溝通階段測試試題及答案
- 2025年高職土地資源管理(土地登記代理)試題及答案
- 2026年冶金工程師(冶金工藝)考題及答案
- 2026年注冊公用設(shè)備工程師給水排水(基礎(chǔ)考試下)試題及答案
- 2025年高職影視動畫(二維動畫制作)試題及答案
- 2025年中職(焊接技術(shù)應(yīng)用)焊接質(zhì)量控制綜合測試題及答案
- 電子數(shù)據(jù)取證分析師安全培訓(xùn)水平考核試卷含答案
- 上海市園林工程估算指標(biāo)(SHA2-12-2025)
- 涉水工程影響國家基本水文測站影響評價分析報告
- 黃芪中藥課件
- 沈陽盛京軍勝農(nóng)業(yè)發(fā)展科技有限公司及所屬企業(yè)2025年面向社會招聘備考題庫帶答案詳解
- 入駐直播協(xié)議書
- 血液凈化中心(透析室)年度述職報告
- 酒吧消防安培訓(xùn)
- 養(yǎng)老院消防培訓(xùn)方案2025年課件
- Smaart7產(chǎn)品使用說明手冊
- 煙站述職報告(4篇)
評論
0/150
提交評論