




已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計,范豐龍QQ:8125007,第1章 面向?qū)ο蠛蚃ava語言,1、計算機(jī)軟件的簡史 2、面向?qū)ο蠹夹g(shù)的基礎(chǔ) 3、Java介紹 4、學(xué)習(xí)Java的建議,1.1計算機(jī)計算模式的三次浪潮,基于主機(jī)的計算模式: 特征:應(yīng)用程序,數(shù)據(jù), 界面集為一體。 在主機(jī)上運(yùn)行。,1.1計算機(jī)計算模式的三次浪潮,客戶機(jī)/服務(wù)器(C/S)的計算模式: 特征:C界面本地數(shù)據(jù), S應(yīng)用邏輯共享數(shù)據(jù) 在客戶機(jī)和服務(wù)器上運(yùn)行。,1.1計算機(jī)計算模式的三次浪潮,分布式網(wǎng)絡(luò)(B/S)計算模式 特征:B界面表示層, S業(yè)務(wù)邏輯層數(shù)據(jù)訪問層 存儲數(shù)據(jù)層 在異地、異構(gòu)機(jī)上運(yùn)行。,1.2分布式網(wǎng)絡(luò)計算的挑戰(zhàn),分布式網(wǎng)絡(luò)計算模式對軟件技術(shù)的挑戰(zhàn): 軟件開發(fā)的4A目標(biāo) Any One, Any Where, Any Time, Any Device 跨平臺的互操作性 CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結(jié)構(gòu),通用對象請求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程 序體系規(guī)范。 WebService (SOAP+XML) SOA(Service-Oriented Architecture ),1.3多層應(yīng)用軟件體系結(jié)構(gòu)的誕生,界面層 瀏覽器 分布邏輯層 客戶界面控件 表示層 (JSP,ASP,CGI等) 代理層 產(chǎn)生:HTML,XML DHTML,WML等 業(yè)務(wù)層 業(yè)務(wù)對象和規(guī)則,數(shù)據(jù)操縱和信息轉(zhuǎn)換 數(shù)據(jù)訪 數(shù)據(jù)庫連接, 數(shù)據(jù)I/O接口 問層 存儲數(shù) 數(shù)據(jù)庫系統(tǒng),XML庫等 據(jù)層 查詢,存儲優(yōu)化和性能協(xié)調(diào),1.4程序設(shè)計語言的發(fā)展,機(jī)器語言 匯編語言 高級語言 1954年,第一個完全脫離機(jī)器硬件的高級語言FORTRAN 60年代中后期,代碼量迅速擴(kuò)大,出現(xiàn)“軟件危機(jī)” 1970年,第一個結(jié)構(gòu)化程序設(shè)計語言Pascal 80 年代初開始面向?qū)ο蟮某绦蛟O(shè)計思想 90年代,新技術(shù):Java平臺、.Net 平臺、XML 語言、Web Services、SOA等,目前有上百種開發(fā)語言。 開發(fā)軟件: 強(qiáng)調(diào)集成、部署 強(qiáng)調(diào)面向Web應(yīng)用 強(qiáng)調(diào)個性化服務(wù) 移動應(yīng)用的興起,移動操作系統(tǒng)市場占有率,1.2 Java的特點,簡單性 面向?qū)ο?健壯性 安全性 解釋執(zhí)行 高性能 可移植,2、面向?qū)ο蠓椒ɑ靖拍?對象 類 接口 方法與消息,2.1 對象,定義:對象是從客觀事物中抽象出與系統(tǒng)相關(guān)的,能反映事物本質(zhì)的一個實體,它是構(gòu)成系統(tǒng)的基本單位; 如:一個手機(jī)、一輛自行車、一臺電視機(jī)、一本書等.也可以是一些抽象的概念:銀行賬號、郵政編碼、電話號碼等 與面向過程不同,面向過程基本是動詞,對象一般是名詞 對象是問題域中事物的抽象.它反映了事物在系統(tǒng)中要保存的信息和所發(fā)揮的作用.系統(tǒng)中的一個對象在軟件生命周期的各個階段可以有不同的形式.它要經(jīng)歷若干演化階段.,2.1 對象,對象具備兩個特征: 狀態(tài) 如手機(jī)狀態(tài)有品牌、顏色、號碼、價格等; 行為。 打電話、接電話、發(fā)短信、設(shè)鬧鐘、設(shè)音樂等。 對象所包含本質(zhì)的特征稱為屬性,對象的行為描述稱為方法。 對象只描述客觀事物本質(zhì)的,與系統(tǒng)目標(biāo)相關(guān)的特征;對象將屬性和方法封裝為一體.屬性值只能由方法訪問和修改.它被隱藏在封裝體內(nèi).使軟件體系結(jié)構(gòu)的復(fù)雜本質(zhì)可隱藏于對象的單純性中,2.2類,定義:類是具有相同屬性和方法的一組對象的集合,它的作用是定義對象. 類是對象的抽象定義,對象是類的實例。類允許用其他類來定義而形成樹結(jié)構(gòu).類的嵌套關(guān)系分為一般類(父類)和特殊類(子類). 類的繼承: 類的繼承是面向?qū)ο蠓椒ǖ睦^承性體現(xiàn).它給軟件開發(fā)帶來的優(yōu)勢是: 利用類繼承,程序可實現(xiàn)代碼重用。 利用抽象類定義普通行為,無需編寫實現(xiàn)代碼。其實現(xiàn)代碼由它的子類編寫。,2.3 接口,定義:接口是對象所能接收請求內(nèi)容的規(guī)范. 接口是一種抽象類,只定義了變量和方法,沒有規(guī)定方法的具體實現(xiàn)。 接口給軟件開發(fā)帶來的好處是: 接口可以實現(xiàn)不相關(guān)類有相同的行為. 接口可指明多個類需要實現(xiàn)的方法. 接口可了解對象的交互界面,而不需要了解對象所對應(yīng)的類.,2.4 消息,定義:向?qū)ο蟀l(fā)出方法請求稱為消息.對象通過消息進(jìn)行通信. 類定義了對象的所有消息模式,也定義了該對象的所有方法. 消息包含信息有:提供方法的對象名,方法名,輸入信息和應(yīng)答信息. Student s = new Student(); s.GetHeight(); 消息將程序的數(shù)據(jù)流和控制流統(tǒng)一. 可用消息實現(xiàn)數(shù)據(jù)傳遞.,2.5 面向?qū)ο蠓椒ǖ幕咎匦?,封裝性(encapsulation) 一方面表示對象的屬性和方法是不可分隔的結(jié)合體. 一方面表示對象內(nèi)部細(xì)節(jié)的隱蔽性. 繼承性(inheritance) 繼承性是面向?qū)ο蠹夹g(shù)賦予類的一種特征,即先定義一個具有一定意義的類(父類),再給此類添加一些特性以派生出一個新類(子類). 多態(tài)性(polymorphism) 對象的多態(tài)性,是同一個屬性名或方法名在父類,及其子類中具有不同語義.如方法的重載。,2.6面向?qū)ο蟮某绦蛟O(shè)計,就是基于對象概念,以對象為中心,以類和繼承為構(gòu)造機(jī)制,來認(rèn)識、理解、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)。 面向?qū)ο蟪绦蛟O(shè)計包括兩大任務(wù): 一是考慮客觀問題中的哪些數(shù)據(jù)與操作進(jìn)行封裝,即將客觀實體與程序的對象、類進(jìn)行對應(yīng)。 二是考慮對象間需要哪些消息傳遞才能完成需求的功能。 面向?qū)ο蟮木幊谭妒剑?1 決定你要的類; 2 給每個類提供完整的一組操作; 3 明確地使用繼承來表現(xiàn)共同點。,3.Java介紹,3.1、Java起源,上世紀(jì)90年代初,SUN公司有一個叫Green的項目,目的是為家用消費電子產(chǎn)品開發(fā)一個分布式代碼系統(tǒng),這樣就可以對家用電器進(jìn)行控制,和他們進(jìn)行信息交流。James Gosling等人基于C+開發(fā)了一種新的語言O(shè)ak.該語言是一種用于網(wǎng)絡(luò)的精巧而安全的語言,SUN公司曾以此投標(biāo)一個交互式電視項目,但結(jié)果被SGI打敗,SUN準(zhǔn)備拋棄Oak.隨著互聯(lián)網(wǎng)的發(fā)展,SUN看到了Oak在計算機(jī)網(wǎng)絡(luò)上的廣闊應(yīng)用前景。于是改造Oak,在1995年5月以Java為名稱正式if阿布,從此Java走向了繁榮之路。 Java的命名有一個小故事,當(dāng)時Oak是以項目小組辦公室外面的樹而得名,由于Oak名字被其他公司注冊了,必須取另外一個名字,當(dāng)時小組人員在咖啡館喝咖啡的時候,發(fā)現(xiàn)Java的名稱,于是靈機(jī)一動,就以Java名字作為語言的名字了。,3.2 Java是什么,一種計算機(jī)編程語言 什么是語言 什么是計算機(jī)編程 一種軟件開發(fā)平臺 什么是軟件開發(fā) 什么是開發(fā)平臺(提供支撐幫助的開發(fā)工具) 一種軟件運(yùn)行平臺 一種軟件部署環(huán)境 軟件部署?,3.3 Java有什么,Java分成三個版本,分別是Java標(biāo)準(zhǔn)版(JSE)、Java微縮版(JME)、和Java企業(yè)版(JEE),每個版本有自己的功能和應(yīng)用方向 JSE-Java Standard Edition JME-Java Micro Edition JEE-Java Enterprise Edition 版本關(guān)系,JEE,JSE,JME,3.4 Java能干什么,桌面級應(yīng)用,尤其是需要跨平臺的桌面級應(yīng)用 企業(yè)級應(yīng)用 這是目前Java應(yīng)用最廣泛的一個領(lǐng)域,幾乎是一枝獨秀。包括各種行業(yè)應(yīng)用、企業(yè)信息化,電子政務(wù)等。領(lǐng)域涉及:辦公自動化OA,客戶關(guān)系管理CRM,人力資源HR,企業(yè)資源計劃ERP,知識管理KM,供應(yīng)鏈管理SCM,企業(yè)設(shè)備管理EAM,產(chǎn)品生命周期管理PLM,面向服務(wù)體系架構(gòu)SOA,商業(yè)智能BI,項目管理PM,流程管理WorkFlow等等 嵌入式設(shè)備及消費類電子產(chǎn)品 包括無線手持設(shè)備、智能卡、通信終端、醫(yī)療設(shè)備、信息家電(數(shù)字電視、機(jī)頂盒、電冰箱)、汽車電子設(shè)備等,尤其是手機(jī)上Java應(yīng)用程序及游戲更普及。 其他的數(shù)學(xué)計算、顯示圖形界面、網(wǎng)絡(luò)操作、數(shù)據(jù)庫操作、文件操作等等,3.5 Java相關(guān)概念,JDK(Java software Development Kit) Java軟件開發(fā)工具包。JDK是Java的核心,包括了Java的運(yùn)行環(huán)境,一系列Java開發(fā)工具和java 基礎(chǔ)類庫。目前流行的JDK是Sun公司發(fā)布的JDK,除了Sun之外,其他的如IBM,BEA等都有JDK JRE(Java Runtime Environment) Java運(yùn)行環(huán)境,運(yùn)行Java程序所需的環(huán)境集合,包括JVM標(biāo)準(zhǔn)實現(xiàn)及Java核心類庫,3.5 Java相關(guān)概念,Java標(biāo)準(zhǔn)組織-JCP(Java Community Process) JCP是一個開放的國際組織,成立于1995年,主要職能是發(fā)展和更新Java技術(shù)規(guī)范,參考實現(xiàn)(RI),技術(shù)兼容包(JCK)。Java技術(shù)和JCP兩者的原創(chuàng)者都是Sun公司,組織成員可以提交JSR(Java Specification Request),通過討論,認(rèn)可,審核以后,將進(jìn)入到下一版本的規(guī)范里面,也就是說JCP是目前技術(shù)發(fā)展事實上的控制者和領(lǐng)導(dǎo)者。 /en/home/index 公司:IBM,HP,ORACLE, ,Google,有微軟么?,3.6 Java大事記,1995.5.23 Java語言誕生 1996.1 第一個JDK1.0發(fā)布 1997.2.18 JDK1.1發(fā)布 1998.12.8 Java2企業(yè)平臺J2EE發(fā)布 1999.6 Sun發(fā)布三個Java版本,J2SE,J2EE,J2ME 2004.9.30 Java SE5.0發(fā)布 2006.12 JavaSE6.0發(fā)布 2011.7 Java7 發(fā)布 2012.2 Java SE 6 Update 31(穩(wěn)定版),3.7 Java特點,簡單的說,Java有如下特點: 簡單、面向?qū)ο蟆⑵脚_無關(guān)、多線程、分布式、安全、高性能、可靠行、自動垃圾回收等 重點 平臺無關(guān):Java開發(fā)的程序不用修改就可以在不同的軟硬件平臺上運(yùn)行。(Write Once,Run AnyWhere) 分布式:軟件由很多個可獨立執(zhí)行的模塊組成,這些模塊分布在多臺計算機(jī)上,可以同時運(yùn)行,對看起來是一個整體。,3.8 構(gòu)建JSE開發(fā)環(huán)境,/technetwork/java/javase/downloads/index.html 環(huán)境要求 Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional: 處理器:2.6 GHz Intel Pentium IV 或具有同等性能的處理器 內(nèi)存:2 GB 硬盤空間:1 GB 可用硬盤空間,3.8 構(gòu)建JSE開發(fā)環(huán)境,安裝完成后,認(rèn)識一下安裝目錄 1、jdk1.7.0_03(jdk) Bin Java的各類執(zhí)行文件 Include 需要引入的頭文件 Jre java運(yùn)行環(huán)境 Lib JDK需要的資源文件和資源包 NetBeans7.1 Bin 執(zhí)行文件 * 可以不用NetBeans,用記事本編輯Java應(yīng)用程序,用JDK進(jìn)行Java開發(fā)。,3.9 常見JDK命令,Java語言的編譯器。命令語法: javac 選項 源文件名 Java語言的解釋器,命令語法是: java 選項 class 命令行參數(shù) . Java API文檔生成器,命令語法: javadoc 選項 包名/文件名 Java applet 瀏覽器,命令語法: appletviewer -debug URL Java程序的調(diào)試器,命令語法: jdb 選項 類名,3.10 JDK的API結(jié)構(gòu),java.lang包 :基本類 java.awt包:是封裝抽象窗口工具包 java.applet包:為Applet提供的所有類 java.io包:程序輸入/輸出文件操作的類. java.util包:提供實用程序類和集合類 javax.swing包:提供構(gòu)建和管理應(yīng)用程序的圖形界面的輕量級的構(gòu)件 /javase/7/docs/api/index.html查看API,體系結(jié)構(gòu),應(yīng)用程序(Applection&Applet),編譯器 Java基本API Java標(biāo)準(zhǔn)擴(kuò)展API Java基本類 Java標(biāo)準(zhǔn)擴(kuò)展類 Java虛擬機(jī),解釋器 移植接口 操作系統(tǒng),Java 7 技術(shù)一欄,3.11 使用JDK寫Java程序,1、配置環(huán)境變量 PATH: 提供給操作系統(tǒng)尋找Java命令工具的路徑,通常是JDK安裝目錄bin目錄 JAVA_HOME 提供給其他基于JAVA的程序使用,讓他們能夠找到JDK的位置,通常配置到JDK安裝路徑,注意,這個必須書寫正確,全部大寫,中間用下劃線 CLASSPATH 提供程序在運(yùn)行期間尋找所需資源的路徑。比如類、文件、圖片等 注意:在windows操作系統(tǒng)中,最好在classpath的配置里面,始終在前面保持.; 4、檢測安裝配置是否成功 方法:運(yùn)行cmd,在DOS下運(yùn)行javac 檢驗,3.12第一個Java程序-HelloWorld,1.編寫Java文件,文件名為HelloWorld.java 源代碼 Public class HelloWorld Public static void main(String args) System.out.println(“你好,Java我來了!”); 2、編譯Java源文件成class文件 在cmd窗口,javac HelloWorld.java,3.12第一個Java程序-HelloWorld,3.運(yùn)行class文件 在cmd窗口 java HelloWorld 4.查看控制臺,看輸出什么 注意: Java區(qū)分大小寫 注意源代碼的規(guī)范性 資源管理器的隱藏已知文件擴(kuò)展名去掉,常見錯誤,1、沒有正確配置path和classpath 2、Java區(qū)分大小寫 3、找不到文件,3.13 Java的執(zhí)行,2019/7/8,38,Compile,Hello.java,Hello.class,Runtime,Class LOader,Byte Code verifier,JIT Code generator,Interpreter,Runtime,Hardware,Network,3.13 Java的執(zhí)行,1、編寫代碼 首先把我們想要計算機(jī)做的事情,通過Java表達(dá)出來,寫成Java文件,這個過程就是編碼 2、編譯 寫完代碼之后,機(jī)器并不認(rèn)識我們的Java代碼,需要編譯成字節(jié)碼,編譯之后的文件叫class文件 3、類裝載 類裝載的功能是為執(zhí)行程序?qū)ふ液脱b載所需要的類。 4、字節(jié)碼(byte-Code)校驗編寫代碼 功能是對class代碼進(jìn)行校驗,保證代碼的安全性 5、解釋(Interpreter)或JIT(即時 編譯) 計算機(jī)不認(rèn)識class文件,需要被解釋器進(jìn)行解釋,或者通過即時編譯為本地機(jī)器代碼,計算機(jī)才能最終理解我們所要表達(dá)的東西。類裝載的功能是為執(zhí)行程序?qū)ふ液脱b載所需要的類。,3.14 Java技術(shù)的三大特性,1、Java虛擬機(jī) 2、垃圾回收 3、代碼安全,3.14 .1虛擬機(jī),Java虛擬機(jī)JVM(Java Virtual Machine)在Java中地位非常重要,相當(dāng)于我們前面的JRE 是什么 Java虛擬機(jī)是真實機(jī)器中用軟件模擬的一種想象機(jī)器。Java虛擬機(jī)規(guī)范為不同的硬件平臺提供了一種編譯Java技術(shù)代碼的規(guī)范,該規(guī)范使得Java軟件獨立與平臺。 有什么 JVM為下列各項做出了定義 指令集(相當(dāng)于CPU) 寄存器 類文件格式 棧 垃圾收集堆 存儲區(qū),3.14 .1虛擬機(jī),能干什么 (1)通過ClassLoader 尋找和裝載文件 (2)解釋字節(jié)碼成為指令并執(zhí)行,提供class文件的運(yùn)行環(huán)境 (3)進(jìn)行運(yùn)行期間垃圾回收 (4)提供與硬件交互的平臺 是Java平臺無關(guān)的保障,3.14 .2垃圾回收,什么是垃圾 在程序運(yùn)行過程中,存在被分配的內(nèi)存塊不在被需要的情況,這些內(nèi)存塊就是垃圾
溫馨提示
- 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年射頻同軸電纜組件合作協(xié)議書
- 合同結(jié)算有沒有合同范本
- 企業(yè)外協(xié)加工合同范本
- 廠家出售口罩合同范本
- 發(fā)包設(shè)計合同范本
- 買房改造合同范本
- 代寫文章合同范本
- 廠區(qū)道路劃線合同范本
- 2025年湖南科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- (高清版)JTG 3370.1-2018 公路隧道設(shè)計規(guī)范 第一冊 土建工程
- 小學(xué)科學(xué)冀人版六年級下冊全冊同步練習(xí)含答案
- 酒店前臺績效考核表
- 精神發(fā)育遲滯的護(hù)理查房
- NancyDrew分析
- 離心式排風(fēng)機(jī)安裝施工方案及技術(shù)措施
- 中西紀(jì)年對照表
- 粵勞社[2002]246號關(guān)于職工在機(jī)關(guān)事業(yè)單位與企業(yè)之間流動時社會保險關(guān)系處理意見的通知
- 通信防雷與接地系統(tǒng)PPT學(xué)習(xí)教案
評論
0/150
提交評論