




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象軟件開發(fā)概述1.1面向對象問題求解的提出軟件開發(fā)面臨的問題理論上如何解決復雜-簡化、縮短開發(fā)周期、易維護等語言方面機器語言-面向過程-面向對象面向對象的程序設計結構化程序設計模塊化數(shù)據抽象信息隱藏知識表示并行處理第2頁,共57頁,2024年2月25日,星期天優(yōu)點提高了軟件的生產力(可擴充、可重用)減小了維護開銷(復雜性降低、標準件使用)更接近人的思維活動面向對象方法分析(OOA
ObjectOrientedAnalysis)設計(OOD
ObjectOrientedDesigned)實現(xiàn)(OOP
ObjectOrientedProgramming)第3頁,共57頁,2024年2月25日,星期天1.2面向對象問題求解概述面向過程以具體的解題過程為研究和實現(xiàn)的主體面向對象以解決問題中所涉及到的各種對象為主體面向對象程序設計核心圍繞幾個概念抽象數(shù)據類型和類類的層次-子類繼承和多態(tài)第4頁,共57頁,2024年2月25日,星期天對象(Object)-面向對象技術的核心對象是現(xiàn)實世界的實體或概念在計算機邏輯中的抽象表示一個對象包含數(shù)據結構及相關的操作例如:某臺電視機,特指的某輛汽車黑盒用戶只關心能做什么?如汽車的功能:代步、運輸?shù)鹊榷槐仃P心具體內部原理,即如何做?面向對象的程序是由對象組成,這些對象應具有以下特征:自治性:數(shù)據結構和操作合為一體,且私有和公有分開,可以達到保護、減少干擾、降低復雜性、提高可靠性。自恰性:可以通過自身定義的操作來管理自己接口和消息機制:消息隱藏、通過接口體現(xiàn)功能.第5頁,共57頁,2024年2月25日,星期天抽象抽象的概念從特定的實體中抽取共性形成一般化概念的過程簡化了的描述,強調共性,忽略一部分細節(jié)描述——說明解釋——實現(xiàn)抽象是具有層次的,高層抽象視其低層抽象為它的一種實現(xiàn)是人們理解復雜現(xiàn)象和求解復雜問題中處理復雜性的重要工具面向對象的抽象原理數(shù)據抽象模塊化信息隱藏行為共享進化確定性第6頁,共57頁,2024年2月25日,星期天類類的概念創(chuàng)建對象的樣板包含外部接口和內部算法以及數(shù)據結構的形式簡單化:是同種對象的集合與抽象例:電腦是一個類(手提式、臺式、掌上電腦…)第7頁,共57頁,2024年2月25日,星期天實體與對象的關系實體——現(xiàn)實世界(電視機、汽車)對象——計算機世界(電視的屬性和功能)對象計算機世界
類現(xiàn)實世界實體抽象數(shù)據類映射計算機邏輯的實現(xiàn)實例化抽象抽象概念世界第8頁,共57頁,2024年2月25日,星期天面向對象技術的一個關鍵的設計思想讓計算機邏輯來模擬現(xiàn)實世界的物理存在讓計算機世界向現(xiàn)實世界靠攏——面向對象反之讓現(xiàn)實向計算機靠攏——面向過程最終目的接近自然的思維模式更接近于現(xiàn)實問題的本來面目的方法、設計縮短開發(fā)周期易于維護第9頁,共57頁,2024年2月25日,星期天對客觀世界進行抽象的例子1自行車:數(shù)據(屬性) 車架尺寸 車輪尺寸 牌子 材料名稱…
操作 變速 移動 修理…第10頁,共57頁,2024年2月25日,星期天2窗口菜單: 數(shù)據(屬性): 顏色 樣式 標題 位置…
操作: 選擇 增加 移動…第11頁,共57頁,2024年2月25日,星期天1.3對象的屬性1.3.1對象的屬性對象的狀態(tài)(又稱靜態(tài)屬性)對象內部所包含的各種信息,即變量。行為又稱操作或方法(動態(tài)屬性)其作用是設置或改變對象的狀態(tài)方法(行為)和狀態(tài)的關系狀態(tài)是否開啟所在頻道行為:打開行為:改變頻道以電視機為例第12頁,共57頁,2024年2月25日,星期天
方法將對象的內部變量(狀態(tài))包裹、封裝、保護只能通過方法改變狀態(tài)方法是對象與外界交互的接口面向對象的問題求解的最終目的最終形成一個廣泛聯(lián)系的、可理解的、可擴充的、可維護的更接近問題原形的動態(tài)對象模型系統(tǒng)第13頁,共57頁,2024年2月25日,星期天對象、實體與類關系對象:現(xiàn)實世界中某個具體的物理實體在計算 機邏輯中的映射和體現(xiàn)類:是一種抽象的數(shù)據類型,是同種對象的集合與抽象。屬于類的某一個對象則被稱為類的一個實例鴨子:類那只紅嘴巴的鴨子:對象手表:類老王的手表:對象第14頁,共57頁,2024年2月25日,星期天1.3.2對象的關系包含當對象A是對象B的屬性時,稱對象B包含對象A。例:電視機——顯像管,汽車——發(fā)動機繼承當對象A是對象B的特例時,稱對象A繼承了對象B。例:小汽車——(小轎車、小貨車、小客車…)學生——(小學生、中學生、大學生…)父——公共關系集合子——除公共以外,有屬于自己的特殊屬性關聯(lián)當對象A的引用是對象B的屬性時,稱對象A、B為關聯(lián)關系對象的引用:可以獲取或操作該對象的途徑(線索)例:汽車對象中包含廠商對象的線索(廠名、址、電話…)第15頁,共57頁,2024年2月25日,星期天注意:包含和繼承的區(qū)別包含:是整體中不可缺少的一個部分繼承:是在已有之上細化(具體化、擴充),是一般與特殊的結構關系.包含和關聯(lián)的區(qū)別包含:含有實體關聯(lián):不含實體,只包含與實體相關的線索第16頁,共57頁,2024年2月25日,星期天1.4面向對象的軟件開發(fā)過程——需求分析(需求模型:對象模型,動態(tài)行為模型,用戶界面模型)——設計(概要設計,詳細設計)——實現(xiàn)(選擇語言,編碼,集成,測試)第17頁,共57頁,2024年2月25日,星期天1.4.1面向對象的分析任務:用戶需求OOA模型的設計和表達方法(五個層次)對象——類層現(xiàn)實世界到計算機世界(對象、類)的抽象靜態(tài)屬性層設計對象的狀態(tài)及各對象間的約束關系服務層(方法層)定義對象和類的動態(tài)屬性及對象之間的消息通信結構層定義系統(tǒng)中的所有對象和類之間的層次結構關系主題層劃分子系統(tǒng)第18頁,共57頁,2024年2月25日,星期天1.4.2面向對象的設計OOD模型劃分為四個部分問題邏輯界面管理負責整個系統(tǒng)的人-機界面設計任務管理負責處理并行操作之類的系統(tǒng)資源管理功能的工作數(shù)據管理負責設計系統(tǒng)與數(shù)據庫的接口分為四個部分的優(yōu)點技術實現(xiàn)上的透明性可重用性大大提高維護更容易第19頁,共57頁,2024年2月25日,星期天問題邏輯部分的任務對最初的OOA模型進一步細化分析、設計和驗證細化分析包括對類靜態(tài)數(shù)據的確定對類方法的參數(shù)、返值、功能實現(xiàn)的明確規(guī)定細化驗證包括各對象類公式間的相容性和一致性各個類間、類內成員的訪問權限的嚴格合理性對象類的功能是否符合用戶需求詳細設計原則充分利用已存在的,可獲得的對象類或部件分析哪些類或哪些功能是可重用的,交專人優(yōu)先開發(fā)大型項目設專人管理可重用資源,組成類庫或其它可重用結構,充分、合理地利用資源第20頁,共57頁,2024年2月25日,星期天1.4.3面向對象的實現(xiàn)——編碼階段選擇語言用語言編碼實現(xiàn)詳細設計階段所得公式、圖表、說明和規(guī)劃等對軟件系統(tǒng)各對象類的詳盡描述將類代碼模塊根據類的相互關系集成(層次)按測試樣例進行模塊及系統(tǒng)測試,測試可與編碼同步完成。第21頁,共57頁,2024年2月25日,星期天1.5面向對象程序設計的特點抽象-簡化描述、抽取共性封裝所有對象內部軟件范圍具有清晰的邊界描述該對象與其它對象如何相互作用的接口受保護的內部實現(xiàn)繼承-層次關系、創(chuàng)建新類的一種方法多態(tài)不同對象對同一種信息可以按照對象本身的性質加以回應動態(tài)聯(lián)編-運行時真正鎖定需要的對象第22頁,共57頁,2024年2月25日,星期天1.6面向對象程序設計方法的優(yōu)點可重用性面向對象軟件開發(fā)的核心思路可擴展性(快速原型法)從簡單起,不斷補充、延伸可管理性由于封裝,便于管理第23頁,共57頁,2024年2月25日,星期天1.7第一章小結面向對象問題的提出和求解的基本過程基本概念對象、類、實體及其相互關系對象的屬性(狀態(tài)和行為)對象間的關系包含:部分-整體繼承:一般-特殊關聯(lián):相關的一條線索軟件工程開發(fā)方法(OOA-OOD-OOP)面向對象程序設計的特點(抽象、封裝、繼承、多態(tài)、動聯(lián))面向對象程序設計方法的優(yōu)點(可重用、擴展、管理)第24頁,共57頁,2024年2月25日,星期天作業(yè):
1、按照數(shù)據抽象原理,體現(xiàn)面向對象的設計要求,給出幾何圖形(如:點、線、多邊形、圓等)的繼承關系層次圖。
2、給出對象計算機、對象“聯(lián)想”牌計算機、對象CPU及對象計算機商家(或廠家)之間的關系。第25頁,共57頁,2024年2月25日,星期天一、Java的發(fā)展歷史1991,Sun成立由JamesGosling領導的Green小組,開發(fā)了Oak語言;1995.1,JamesGosling和Naughton完成Oak新版與第一個基于Oak的應用程序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是一種“簡單、面向對象、分布式、解釋型、健壯、安全、體系結構中立、可移植、高性能和動態(tài)”的編程語言
極盡贊美之辭也不為過!
第32頁,共57頁,2024年2月25日,星期天二、Java的語法機制概述與C++一致的語法機制:(同)數(shù)據類型、表達式、程序流控制、結構化異常處理等;與C++不同的語法機制“(異)
類、接口(Interface)、程序包(Package)、
自動內存回收以及多線程。第33頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
類:最重要、最基本的語法,類的定義與繼承與C++類似,主要區(qū)別:
Java不允許多重繼承,多重繼承必須通過接口實現(xiàn)。
Java引進了abstract和final修飾詞。帶abstract的類稱為抽象類,只能作為父類使用,不能直接產生實例對象。帶final的類不能用作父類被繼承,帶final的屬性在定義式必須賦初值并稱為常量,帶final的方法將禁止子類(Overriding)。第34頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
接口
是一種抽象類,其中只能出現(xiàn)靜態(tài)常量或抽象方法定義。
主要目的是實現(xiàn)多重繼承功能,避免C++在多重繼承語義上的復雜性。
一個JAVA類可以實現(xiàn)(繼承)多個接口。第35頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
程序包(package)
是一些相關類或接口的集合。
JAVA提供包括可重用類標準程序包,用戶可自定義程序包。
通過import語句將程序包引入應用程序。第36頁,共57頁,2024年2月25日,星期天Java與C++不同的語法機制
自動內存回收
JAVA取消了指針類型,所有動態(tài)內存請求均通過new運算符,并且得到的不是指針而是引用。
系統(tǒng)進行內存回收。
多線程
依賴操作系統(tǒng)提供的線程管理的API:與平臺綁定
語言級支持多線程:忽略操作系統(tǒng)多線程機制的差異,軟件具有更好的可靠性和可移植性。第37頁,共57頁,2024年2月25日,星期天三、JAVA運行系統(tǒng)Java運行系統(tǒng)的構成
類裝配器
字節(jié)碼驗證器
解釋器
代碼生成器
運行支持庫Java運行環(huán)境的種類
JAVAApplication--JAVA解釋器
JAVAApplet--JAVA兼容的Web瀏覽器第38頁,共57頁,2024年2月25日,星期天JAVA程序運行過程Hello.javaJavacHello.javaHello.class網絡類裝配器字節(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安裝目錄結構簡介1.軟件安裝的根目錄包含版權、許可以及README文件。還包括:src.zip構成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目錄結構中bin目錄下主要開發(fā)工具的
可執(zhí)行文件簡介(1)javac:Java語言的編譯器。(2)java:Java應用程序執(zhí)行引擎,類名后面可帶一個或多個字符串參數(shù)。(3)javadoc:API生成器,對當前類生成HTML格式的API文檔。(4)appletviewer:小應用程序瀏覽器。(5)jar:JavaArchive文件歸檔工具,用它可以把類文件以及其他格式的文件進行壓縮,以便于程序中引入以及網絡傳輸?shù)?。?)jdb:Java調試工具Debugger。第43頁,共57頁,2024年2月25日,星期天Java的API(ApplicationProgramInterface)Java的API文檔是Java程序開發(fā)的最好幫手,從/javase/downloads/index.jsp下載;它提供了所有有關API類庫的信息及鏈接,API文檔內容主要包括:類層次結構、類、成員變量表、構造函數(shù)表、方法表、變量詳細說明表及每一個變量使用目的的詳細描述、構造方法的詳細說明等。第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應用程序舉例//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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國螺旋埋弧焊管行業(yè)發(fā)展狀況及營銷戰(zhàn)略研究報告
- 2025-2030年中國營養(yǎng)煲行業(yè)運行動態(tài)分析與營銷策略研究報告
- 2025-2030年中國花椒大料行業(yè)運營狀況及發(fā)展前景分析報告
- 2025-2030年中國膦酸脲行業(yè)運行狀況與前景趨勢分析報告
- 2025-2030年中國膠合板行業(yè)十三五規(guī)劃及發(fā)展盈利分析報告
- 2025-2030年中國紙杯機行業(yè)運行狀況及前景趨勢分析報告
- 2025-2030年中國粽子行業(yè)十三五規(guī)劃及發(fā)展盈利分析報告
- 2025江西省建筑安全員-B證考試題庫附答案
- 珠??萍紝W院《邊緣計算》2023-2024學年第二學期期末試卷
- 4.2依法履行義務 教案 -2024-2025學年統(tǒng)編版道德與法治八年級下冊
- NB/T 11526-2024煤礦微震監(jiān)測系統(tǒng)通用技術條件
- 2025年福建長汀金龍稀土有限公司招聘筆試參考題庫含答案解析
- 文化差異下的教育國外的小學音樂教育方式探討
- 2024年黑龍江建筑職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 公司安全事故隱患內部舉報、報告獎勵制度
- 云停車平臺商戶使用說明
- 確認民族成分申請書
- GB38995-2020嬰幼兒用奶瓶和奶嘴
- 中職《普通話》課程標準(共7頁)
- 修訂韋氏記憶量表(WMS-乙式).doc
評論
0/150
提交評論