版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
面向?qū)ο筌浖_發(fā)概述1.1面向?qū)ο髥栴}求解的提出軟件開發(fā)面臨的問題理論上如何解決復(fù)雜-簡化、縮短開發(fā)周期、易維護等語言方面機器語言-面向過程-面向?qū)ο竺嫦驅(qū)ο蟮某绦蛟O(shè)計結(jié)構(gòu)化程序設(shè)計模塊化數(shù)據(jù)抽象信息隱藏知識表示并行處理第2頁,共57頁,2024年2月25日,星期天優(yōu)點提高了軟件的生產(chǎn)力(可擴充、可重用)減小了維護開銷(復(fù)雜性降低、標準件使用)更接近人的思維活動面向?qū)ο蠓椒ǚ治觯∣OA
ObjectOrientedAnalysis)設(shè)計(OOD
ObjectOrientedDesigned)實現(xiàn)(OOP
ObjectOrientedProgramming)第3頁,共57頁,2024年2月25日,星期天1.2面向?qū)ο髥栴}求解概述面向過程以具體的解題過程為研究和實現(xiàn)的主體面向?qū)ο笠越鉀Q問題中所涉及到的各種對象為主體面向?qū)ο蟪绦蛟O(shè)計核心圍繞幾個概念抽象數(shù)據(jù)類型和類類的層次-子類繼承和多態(tài)第4頁,共57頁,2024年2月25日,星期天對象(Object)-面向?qū)ο蠹夹g(shù)的核心對象是現(xiàn)實世界的實體或概念在計算機邏輯中的抽象表示一個對象包含數(shù)據(jù)結(jié)構(gòu)及相關(guān)的操作例如:某臺電視機,特指的某輛汽車黑盒用戶只關(guān)心能做什么?如汽車的功能:代步、運輸?shù)鹊榷槐仃P(guān)心具體內(nèi)部原理,即如何做?面向?qū)ο蟮某绦蚴怯蓪ο蠼M成,這些對象應(yīng)具有以下特征:自治性:數(shù)據(jù)結(jié)構(gòu)和操作合為一體,且私有和公有分開,可以達到保護、減少干擾、降低復(fù)雜性、提高可靠性。自恰性:可以通過自身定義的操作來管理自己接口和消息機制:消息隱藏、通過接口體現(xiàn)功能.第5頁,共57頁,2024年2月25日,星期天抽象抽象的概念從特定的實體中抽取共性形成一般化概念的過程簡化了的描述,強調(diào)共性,忽略一部分細節(jié)描述——說明解釋——實現(xiàn)抽象是具有層次的,高層抽象視其低層抽象為它的一種實現(xiàn)是人們理解復(fù)雜現(xiàn)象和求解復(fù)雜問題中處理復(fù)雜性的重要工具面向?qū)ο蟮某橄笤頂?shù)據(jù)抽象模塊化信息隱藏行為共享進化確定性第6頁,共57頁,2024年2月25日,星期天類類的概念創(chuàng)建對象的樣板包含外部接口和內(nèi)部算法以及數(shù)據(jù)結(jié)構(gòu)的形式簡單化:是同種對象的集合與抽象例:電腦是一個類(手提式、臺式、掌上電腦…)第7頁,共57頁,2024年2月25日,星期天實體與對象的關(guān)系實體——現(xiàn)實世界(電視機、汽車)對象——計算機世界(電視的屬性和功能)對象計算機世界
類現(xiàn)實世界實體抽象數(shù)據(jù)類映射計算機邏輯的實現(xiàn)實例化抽象抽象概念世界第8頁,共57頁,2024年2月25日,星期天面向?qū)ο蠹夹g(shù)的一個關(guān)鍵的設(shè)計思想讓計算機邏輯來模擬現(xiàn)實世界的物理存在讓計算機世界向現(xiàn)實世界靠攏——面向?qū)ο蠓粗尙F(xiàn)實向計算機靠攏——面向過程最終目的接近自然的思維模式更接近于現(xiàn)實問題的本來面目的方法、設(shè)計縮短開發(fā)周期易于維護第9頁,共57頁,2024年2月25日,星期天對客觀世界進行抽象的例子1自行車:數(shù)據(jù)(屬性) 車架尺寸 車輪尺寸 牌子 材料名稱…
操作 變速 移動 修理…第10頁,共57頁,2024年2月25日,星期天2窗口菜單: 數(shù)據(jù)(屬性): 顏色 樣式 標題 位置…
操作: 選擇 增加 移動…第11頁,共57頁,2024年2月25日,星期天1.3對象的屬性1.3.1對象的屬性對象的狀態(tài)(又稱靜態(tài)屬性)對象內(nèi)部所包含的各種信息,即變量。行為又稱操作或方法(動態(tài)屬性)其作用是設(shè)置或改變對象的狀態(tài)方法(行為)和狀態(tài)的關(guān)系狀態(tài)是否開啟所在頻道行為:打開行為:改變頻道以電視機為例第12頁,共57頁,2024年2月25日,星期天
方法將對象的內(nèi)部變量(狀態(tài))包裹、封裝、保護只能通過方法改變狀態(tài)方法是對象與外界交互的接口面向?qū)ο蟮膯栴}求解的最終目的最終形成一個廣泛聯(lián)系的、可理解的、可擴充的、可維護的更接近問題原形的動態(tài)對象模型系統(tǒng)第13頁,共57頁,2024年2月25日,星期天對象、實體與類關(guān)系對象:現(xiàn)實世界中某個具體的物理實體在計算 機邏輯中的映射和體現(xiàn)類:是一種抽象的數(shù)據(jù)類型,是同種對象的集合與抽象。屬于類的某一個對象則被稱為類的一個實例鴨子:類那只紅嘴巴的鴨子:對象手表:類老王的手表:對象第14頁,共57頁,2024年2月25日,星期天1.3.2對象的關(guān)系包含當對象A是對象B的屬性時,稱對象B包含對象A。例:電視機——顯像管,汽車——發(fā)動機繼承當對象A是對象B的特例時,稱對象A繼承了對象B。例:小汽車——(小轎車、小貨車、小客車…)學生——(小學生、中學生、大學生…)父——公共關(guān)系集合子——除公共以外,有屬于自己的特殊屬性關(guān)聯(lián)當對象A的引用是對象B的屬性時,稱對象A、B為關(guān)聯(lián)關(guān)系對象的引用:可以獲取或操作該對象的途徑(線索)例:汽車對象中包含廠商對象的線索(廠名、址、電話…)第15頁,共57頁,2024年2月25日,星期天注意:包含和繼承的區(qū)別包含:是整體中不可缺少的一個部分繼承:是在已有之上細化(具體化、擴充),是一般與特殊的結(jié)構(gòu)關(guān)系.包含和關(guān)聯(lián)的區(qū)別包含:含有實體關(guān)聯(lián):不含實體,只包含與實體相關(guān)的線索第16頁,共57頁,2024年2月25日,星期天1.4面向?qū)ο蟮能浖_發(fā)過程——需求分析(需求模型:對象模型,動態(tài)行為模型,用戶界面模型)——設(shè)計(概要設(shè)計,詳細設(shè)計)——實現(xiàn)(選擇語言,編碼,集成,測試)第17頁,共57頁,2024年2月25日,星期天1.4.1面向?qū)ο蟮姆治鋈蝿?wù):用戶需求OOA模型的設(shè)計和表達方法(五個層次)對象——類層現(xiàn)實世界到計算機世界(對象、類)的抽象靜態(tài)屬性層設(shè)計對象的狀態(tài)及各對象間的約束關(guān)系服務(wù)層(方法層)定義對象和類的動態(tài)屬性及對象之間的消息通信結(jié)構(gòu)層定義系統(tǒng)中的所有對象和類之間的層次結(jié)構(gòu)關(guān)系主題層劃分子系統(tǒng)第18頁,共57頁,2024年2月25日,星期天1.4.2面向?qū)ο蟮脑O(shè)計OOD模型劃分為四個部分問題邏輯界面管理負責整個系統(tǒng)的人-機界面設(shè)計任務(wù)管理負責處理并行操作之類的系統(tǒng)資源管理功能的工作數(shù)據(jù)管理負責設(shè)計系統(tǒng)與數(shù)據(jù)庫的接口分為四個部分的優(yōu)點技術(shù)實現(xiàn)上的透明性可重用性大大提高維護更容易第19頁,共57頁,2024年2月25日,星期天問題邏輯部分的任務(wù)對最初的OOA模型進一步細化分析、設(shè)計和驗證細化分析包括對類靜態(tài)數(shù)據(jù)的確定對類方法的參數(shù)、返值、功能實現(xiàn)的明確規(guī)定細化驗證包括各對象類公式間的相容性和一致性各個類間、類內(nèi)成員的訪問權(quán)限的嚴格合理性對象類的功能是否符合用戶需求詳細設(shè)計原則充分利用已存在的,可獲得的對象類或部件分析哪些類或哪些功能是可重用的,交專人優(yōu)先開發(fā)大型項目設(shè)專人管理可重用資源,組成類庫或其它可重用結(jié)構(gòu),充分、合理地利用資源第20頁,共57頁,2024年2月25日,星期天1.4.3面向?qū)ο蟮膶崿F(xiàn)——編碼階段選擇語言用語言編碼實現(xiàn)詳細設(shè)計階段所得公式、圖表、說明和規(guī)劃等對軟件系統(tǒng)各對象類的詳盡描述將類代碼模塊根據(jù)類的相互關(guān)系集成(層次)按測試樣例進行模塊及系統(tǒng)測試,測試可與編碼同步完成。第21頁,共57頁,2024年2月25日,星期天1.5面向?qū)ο蟪绦蛟O(shè)計的特點抽象-簡化描述、抽取共性封裝所有對象內(nèi)部軟件范圍具有清晰的邊界描述該對象與其它對象如何相互作用的接口受保護的內(nèi)部實現(xiàn)繼承-層次關(guān)系、創(chuàng)建新類的一種方法多態(tài)不同對象對同一種信息可以按照對象本身的性質(zhì)加以回應(yīng)動態(tài)聯(lián)編-運行時真正鎖定需要的對象第22頁,共57頁,2024年2月25日,星期天1.6面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點可重用性面向?qū)ο筌浖_發(fā)的核心思路可擴展性(快速原型法)從簡單起,不斷補充、延伸可管理性由于封裝,便于管理第23頁,共57頁,2024年2月25日,星期天1.7第一章小結(jié)面向?qū)ο髥栴}的提出和求解的基本過程基本概念對象、類、實體及其相互關(guān)系對象的屬性(狀態(tài)和行為)對象間的關(guān)系包含:部分-整體繼承:一般-特殊關(guān)聯(lián):相關(guān)的一條線索軟件工程開發(fā)方法(OOA-OOD-OOP)面向?qū)ο蟪绦蛟O(shè)計的特點(抽象、封裝、繼承、多態(tài)、動聯(lián))面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點(可重用、擴展、管理)第24頁,共57頁,2024年2月25日,星期天作業(yè):
1、按照數(shù)據(jù)抽象原理,體現(xiàn)面向?qū)ο蟮脑O(shè)計要求,給出幾何圖形(如:點、線、多邊形、圓等)的繼承關(guān)系層次圖。
2、給出對象計算機、對象“聯(lián)想”牌計算機、對象CPU及對象計算機商家(或廠家)之間的關(guān)系。第25頁,共57頁,2024年2月25日,星期天一、Java的發(fā)展歷史1991,Sun成立由JamesGosling領(lǐng)導(dǎo)的Green小組,開發(fā)了Oak語言;1995.1,JamesGosling和Naughton完成Oak新版與第一個基于Oak的應(yīng)用程序WebRunner。OakJavaWebRunnerHotJava,支持Java的第二代瀏覽器1998年底,發(fā)布J2SDK。目前最新版本是JDK7JamesGosling第26頁,共57頁,2024年2月25日,星期天Java2平臺Java2PlatformStandardEdition—J2SEJava2PlatformEnterpriseEdition—J2EEJava2PlatformMicroEdition—J2ME第27頁,共57頁,2024年2月25日,星期天Java開發(fā)平臺第28頁,共57頁,2024年2月25日,星期天Java語言Java是一種編程語言。Java又是一種平臺。第29頁,共57頁,2024年2月25日,星期天Java編程語言第30頁,共57頁,2024年2月25日,星期天Java平臺第31頁,共57頁,2024年2月25日,星期天Java的特征Sun在JAVA“白皮書”中指出:
JAVA是一種“簡單、面向?qū)ο?、分布式、解釋型、健壯、安全、體系結(jié)構(gòu)中立、可移植、高性能和動態(tài)”的編程語言
極盡贊美之辭也不為過!
第32頁,共57頁,2024年2月25日,星期天二、Java的語法機制概述與C++一致的語法機制:(同)數(shù)據(jù)類型、表達式、程序流控制、結(jié)構(gòu)化異常處理等;與C++不同的語法機制“(異)
類、接口(Interface)、程序包(Package)、
自動內(nèi)存回收以及多線程。第33頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
類:最重要、最基本的語法,類的定義與繼承與C++類似,主要區(qū)別:
Java不允許多重繼承,多重繼承必須通過接口實現(xiàn)。
Java引進了abstract和final修飾詞。帶abstract的類稱為抽象類,只能作為父類使用,不能直接產(chǎn)生實例對象。帶final的類不能用作父類被繼承,帶final的屬性在定義式必須賦初值并稱為常量,帶final的方法將禁止子類(Overriding)。第34頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
接口
是一種抽象類,其中只能出現(xiàn)靜態(tài)常量或抽象方法定義。
主要目的是實現(xiàn)多重繼承功能,避免C++在多重繼承語義上的復(fù)雜性。
一個JAVA類可以實現(xiàn)(繼承)多個接口。第35頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
程序包(package)
是一些相關(guān)類或接口的集合。
JAVA提供包括可重用類標準程序包,用戶可自定義程序包。
通過import語句將程序包引入應(yīng)用程序。第36頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
自動內(nèi)存回收
JAVA取消了指針類型,所有動態(tài)內(nèi)存請求均通過new運算符,并且得到的不是指針而是引用。
系統(tǒng)進行內(nèi)存回收。
多線程
依賴操作系統(tǒng)提供的線程管理的API:與平臺綁定
語言級支持多線程:忽略操作系統(tǒng)多線程機制的差異,軟件具有更好的可靠性和可移植性。第37頁,共57頁,2024年2月25日,星期天三、JAVA運行系統(tǒng)Java運行系統(tǒng)的構(gòu)成
類裝配器
字節(jié)碼驗證器
解釋器
代碼生成器
運行支持庫Java運行環(huán)境的種類
JAVAApplication--JAVA解釋器
JAVAApplet--JAVA兼容的Web瀏覽器第38頁,共57頁,2024年2月25日,星期天JAVA程序運行過程Hello.javaJavacHello.javaHello.class網(wǎng)絡(luò)類裝配器字節(jié)碼驗證器解釋器代碼生成器運行支持庫本地系統(tǒng)編譯運行第39頁,共57頁,2024年2月25日,星期天四、JAVA常用開發(fā)工具JDK(Sun)命令行EclipseJCreator(XINOX)NetBeans(Sun) JavaStudioCreator(Sun)JBuilder(Borland)VisualAgeforJava(IBM)第40頁,共57頁,2024年2月25日,星期天4.1JDK1.6的獲取與安裝從/javase/downloads/index.jsp下載運行JDK1.7中的安裝程序改變環(huán)境變量:右鍵點擊我的電腦->屬性->高級->環(huán)境變量
PATH=%PATH%;c:\java\bin;CLASSPATH=.;c:\java\lib第41頁,共57頁,2024年2月25日,星期天4.1JDK安裝目錄結(jié)構(gòu)簡介1.軟件安裝的根目錄包含版權(quán)、許可以及README文件。還包括:src.zip構(gòu)成Java平臺核心API的所有類的源文件的歸檔。2.bin目錄包含JDK開發(fā)工具的可執(zhí)行文件。3.lib目錄開發(fā)工具使用的歸檔包文件。4.jre目錄
Java運行時環(huán)境的根目錄。其子目錄\jre\bin中包含Java平臺使用的工具和庫的可執(zhí)行文件及DLL。5.demo目錄:含有資源代碼的程序示例第42頁,共57頁,2024年2月25日,星期天4.1JDK目錄結(jié)構(gòu)中bin目錄下主要開發(fā)工具的
可執(zhí)行文件簡介(1)javac:Java語言的編譯器。(2)java:Java應(yīng)用程序執(zhí)行引擎,類名后面可帶一個或多個字符串參數(shù)。(3)javadoc:API生成器,對當前類生成HTML格式的API文檔。(4)appletviewer:小應(yīng)用程序瀏覽器。(5)jar:JavaArchive文件歸檔工具,用它可以把類文件以及其他格式的文件進行壓縮,以便于程序中引入以及網(wǎng)絡(luò)傳輸?shù)?。?)jdb:Java調(diào)試工具Debugger。第43頁,共57頁,2024年2月25日,星期天Java的API(ApplicationProgramInterface)Java的API文檔是Java程序開發(fā)的最好幫手,從/javase/downloads/index.jsp下載;它提供了所有有關(guān)API類庫的信息及鏈接,API文檔內(nèi)容主要包括:類層次結(jié)構(gòu)、類、成員變量表、構(gòu)造函數(shù)表、方法表、變量詳細說明表及每一個變量使用目的的詳細描述、構(gòu)造方法的詳細說明等。第44頁,共57頁,2024年2月25日,星期天Java程序中的類的定義的語法形式修飾符class類名[extend父類名]{type類變量1;
type類變量2;
……
修飾符type類方法1(參數(shù)列表){type局部變量;方法體
}
修飾符type類方法2(參數(shù)列表){type局部變量;方法體
}……}成員變量成員方法第45頁,共57頁,2024年2月25日,星期天Java應(yīng)用程序舉例//HelloWorldApp.java:publicclassHelloWorldApp{ publicstaticvoidmain(Stringargs[]){ System.out.println(“HelloWorld!”); }}第46頁,共57頁,2024年2月25日,星期天Java程序編寫、編譯過程
main聲明--Java程序入口點格式publicstaticvoidmain(Stringargs[]){…
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度研發(fā)團隊項目獎金分配合同3篇
- 雙頭料架安全操作規(guī)程
- 2025年度倉儲物流基地場地平整與基礎(chǔ)設(shè)施建設(shè)合同3篇
- 圓形填料安全操作規(guī)程
- 2025年粵教版九年級科學上冊月考試卷
- 2025年滬教新版九年級化學上冊階段測試試卷
- 2025年統(tǒng)編版七年級化學上冊階段測試試卷
- 2025年魯教版八年級科學上冊階段測試試卷含答案
- 工業(yè)互聯(lián)網(wǎng)平臺在辦公自動化中的實踐
- 2025年魯教版八年級數(shù)學上冊月考試卷
- 2024年學院宣傳工作總結(jié)(4篇)
- 福建省福州三牧中學2024-2025學年七年級上學期期中生物試題(無答案)
- 公司安全事故隱患內(nèi)部舉報、報告獎勵制度
- 第19課《棗兒》課件+2023-2024學年統(tǒng)編版語文九年級下冊
- 2024-2030年中國土壤修復(fù)行業(yè)十三五規(guī)劃及發(fā)展前景展望報告
- 靜脈治療護理技術(shù)操作標準解讀
- 2024統(tǒng)戰(zhàn)工作總結(jié)
- 福建省泉州市2023-2024學年高一上學期期末質(zhì)檢英語試題(解析版)
- 蘇教版(2024新版)七年級上冊生物期末模擬試卷 3套(含答案)
- 《數(shù)字信號處理(第2版)》本科全套教學課件
- 高中生物人教版選擇性必修一分章節(jié)分課時全冊學案
評論
0/150
提交評論