




已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計O OProgramming 機電學(xué)院楊靜萍2013 2014 1 內(nèi)容提要 現(xiàn)實世界 概念世界 計算機世界面向過程vs 面向?qū)ο竺嫦驅(qū)ο蟪绦蛘Z言Java的面向?qū)ο筇匦訨ava語言入門 現(xiàn)實世界 現(xiàn)實世界 實體 每個實體都有自己的狀態(tài) 特征 屬性 和行為 Jack特征 姓名 Jack 國藉 美國 性別 男 出生年月 1975 03 19 家電84640338 住址 大連市沙河口區(qū) 職業(yè) DJ Jack行為 跑 跳 唱 改名 改家電 改住址 Mary特征 姓名 Mary 國藉 澳州 性別 女 出生年月 1978 02 10 家電87652313 住址 大連市開發(fā)區(qū) 職業(yè) DJ Mary行為 跑 跳 唱 改名 改家電 改住址 概念世界 類型 以上Jack Mary在特定的應(yīng)用環(huán)境下可以被抽象為特定類型 DJ 假設(shè)我們需要建立一個通訊錄應(yīng)用 則抽象 狀態(tài)和行為有取舍 結(jié)果可為 DJ類 狀態(tài)特征 姓名 家電 住址 行為 改名 改家電 改住址注意 根據(jù)解決問題相關(guān)的 需要有取舍的抽象 計算機世界 類 將抽象數(shù)據(jù)類概念轉(zhuǎn)為計算機語言描述 DJ類 封裝結(jié)構(gòu) 用變量表示狀態(tài) 用方法表示行為 計算機世界 對象 以類作為模板創(chuàng)建對象 面向過程vs 面向?qū)ο?面向過程傳統(tǒng)程序 如C語言程序 算法 數(shù)據(jù)結(jié)構(gòu)面向?qū)ο笕鏑 Java程序 對象 消息 面向?qū)ο缶幊痰膬?yōu)點 1 符合人們對客觀世界的認(rèn)識規(guī)律2 對需求變化具有很強的適應(yīng)性3 支持軟件復(fù)用4 可維護性好 面向?qū)ο蟪绦蛘Z言 C 是一個強大的面向?qū)ο笳Z言 可以高效的調(diào)用操作系統(tǒng)的API進行系統(tǒng)級的軟件開發(fā) 應(yīng)用領(lǐng)域包括網(wǎng)絡(luò)通訊 網(wǎng)絡(luò)安全 網(wǎng)絡(luò)游戲服務(wù)端開發(fā) 行業(yè)應(yīng)用軟件服務(wù)端應(yīng)用等等 netFramework NET系統(tǒng)包括一個相當(dāng)廣泛的產(chǎn)品家族 C VB net ASP net 為用戶提供Web服務(wù)的開發(fā) 管理和應(yīng)用環(huán)境 微軟為 NET提供了高效實用的開發(fā)工具 所以 NET的開發(fā)效率較高 但應(yīng)用有平臺限制 基本只能在Window平臺應(yīng)用 Java具有平臺無關(guān)性 安全性 分布式和健壯性等特點 比較適合企業(yè)級的開發(fā)應(yīng)用 比如行業(yè)業(yè)務(wù)支撐軟件 電信 金融 電力 教育 等眾多領(lǐng)域 Java的面向?qū)ο筇匦?簡單性 C 的純凈版本面向?qū)ο?分布性 網(wǎng)絡(luò)技能魯棒性 永遠(yuǎn)不會存取一個 壞的 指針安全性 不直接訪問硬件體系結(jié)構(gòu)中立 最顯著的優(yōu)勢可移植性 不依賴具體實現(xiàn)解釋執(zhí)行 依賴解釋器 運行環(huán)境 平臺獨立高性能 虛擬機性能已大大加強多線程 依賴底層操作系統(tǒng)或線程庫實現(xiàn) 動態(tài)性 可以將代碼添加到正在運行的程序中 Java語言入門 Java程序設(shè)計環(huán)境Java基本的程序設(shè)計結(jié)構(gòu)Java的對象與類Java的繼承Java的集合異常 日志 斷言和調(diào)試 Java程序設(shè)計環(huán)境 文本編輯器 JDK記事本編寫程序安裝Java開發(fā)工具箱 JavaDevelopmentKit JDK JavaSEDevelopKit 6u18 使用集成開發(fā)環(huán)境NetbeansEclipseJBuilderOracleJDeveloper Java基本的程序設(shè)計結(jié)構(gòu) 一個簡單的Java應(yīng)用程序注釋數(shù)據(jù)類型變量和常量運算符枚舉類型EnumSample字符串StringSample控制流程ControlFlowSample數(shù)組 ArraySample Java基本數(shù)據(jù)類型 Java是一種強類型語言 意味著每一個變量聲明一種類型 共有8種基本類型 整型int 4字節(jié) short 2字節(jié) long 8字節(jié) byte 1字節(jié) 浮點型float 4字節(jié) double 8字節(jié) 特殊的浮點數(shù) Double POSITIVE INFINITY Double NEGTIVE INFINITY Double NaNchar類型 單個字符 Unicode字符表 Boolean類型false和true 變量和常量 變量聲明 以 結(jié)束 變量初始化 變量名必須以字母開頭 一般首字母小寫 空格和一些特殊符號不能出現(xiàn)在變量名中 利用關(guān)鍵字 final 聲明常量 常量一般用大寫字母表示 運算符 自增 減 運算符關(guān)系運算符與boolean運算符 三元操作 如 x y x y 括號和運算符具有一定的優(yōu)先級別 詳見相關(guān)資料 枚舉類型 變量的取值只在一個有限的集合內(nèi) 從JDK5 0開始 增加了該類型 字符串 字符串類子串拼接不可變字符串檢測字符串是否相等字符串長度與字符位置 控制流程 塊及其作用域條件語句 if循環(huán)語句 while dowhile循環(huán)語句 for多重選擇 switch中斷控制流程語句 條件語句 if 循環(huán)語句 while 循環(huán)語句 dowhile 循環(huán)語句 for 確定性循環(huán) 多重選擇 switch 數(shù)組 Java的對象與類 Java的類庫 API 自定義類 Student構(gòu)造器隱式參數(shù)和顯式參數(shù)封裝與作用域?qū)ο髽?gòu)造包 Java的類庫 API java io 輸入輸出 流操作java math 數(shù)學(xué)公式 網(wǎng)絡(luò)編程socketjava rmi 遠(yuǎn)程方法調(diào)用Namingjava sql 數(shù)據(jù)庫操作java text 數(shù)據(jù)格式Formatjava util 常用類Array List Collections Calender 構(gòu)造器 與類同名在構(gòu)造類的對象時被執(zhí)行 new 每個類可有一個或以上的構(gòu)造器構(gòu)造器可有0個或以上的參數(shù)構(gòu)造器沒有返回值 隱式參數(shù)和顯式參數(shù) 隱式參數(shù) 方法前 對象名 通過new生成關(guān)鍵字this 在類的方法中調(diào)用類對象顯式參數(shù)方法的參數(shù) 括號中 封裝與作用域 數(shù)據(jù)域 私有private域訪問器方法 公有public域更改器方法 公有public private 私有方法 類內(nèi)使用 可改可刪 public 公有方法 一般不能改或刪 final 初始化后不能改變static 靜態(tài)域 方法 屬于類的域 方法 由類名直接調(diào)用staticfinal 靜態(tài)常量Factory 方法沒有構(gòu)造器 直接得到一個實例Main 方法不需要使用對象調(diào)用靜態(tài)方法 對象構(gòu)造 重載 一個類有多個構(gòu)造器 一個方法有不同種類參數(shù)Student構(gòu)造器1 構(gòu)造器2 setId 默認(rèn)域初始化 0 數(shù)值 false 布爾 null 對象 默認(rèn)構(gòu)造器 所有域為默認(rèn)初始值 顯式域初始化 TestStudent參數(shù)命名 避免單個字符 n m 在構(gòu)造器中調(diào)用另一個構(gòu)造器 Student初始化塊 Student對象垃圾回收 自動回收 close 方法 包 package 類的組織 包結(jié)構(gòu)將包的名字放在源文件的開頭 packagecom horstmann corejava將類的源文件 java放入包中包作用域public 可以被任意類調(diào)用 protected 可以被包內(nèi)類調(diào)用 private 可以被類或子類調(diào)用 類的導(dǎo)入完整包名 java util Datedate newjava util Date 引入特定類 importjava util Date 引入整個包 importjava util Java的繼承 Inheritance 類 超類和子類多態(tài)和動態(tài)綁定抽象類與接口 類之間的繼承關(guān)系是現(xiàn)實世界中遺傳關(guān)系的直接模擬 它表示類之間的內(nèi)在聯(lián)系以及對屬性和操作的共享 即子類可以沿用父類 被繼承類 的某些特征 當(dāng)然 子類也可以具有自己獨立的屬性和操作 Inheritance 類 超類和子類 superclass 超 基 父類subclass 子 派生類關(guān)系 子類is a超類定義關(guān)鍵字 extends子類與父類的調(diào)用 thisvs super阻止繼承和覆蓋 final類和方法 繼承層次Inheritancehierarchy 1 子類不能訪問父類的private成員 但子類可以訪問其父類的public 3 被繼承的父類成員雖然沒有在子類聲明中列出 但是這些成員確實存在于子類中 多態(tài) Polymorphism 提高了程序可擴充性 調(diào)用多態(tài)性行為的軟件傳送給對象的消息 即方法調(diào)用 與對象的類型無關(guān) 因此能響應(yīng)已有消息的新類型可以直接加入系統(tǒng) 而不用修改基本系統(tǒng) 多態(tài)和動態(tài)綁定 多態(tài) Polymorphism 把不同的子類對象都當(dāng)作父類來看 可以屏蔽不同子類對象之間的差異 寫出通用的代碼 做出通用的編程 以適應(yīng)需求的不斷變化 如果程序需要一個超類對象 都可以用一個子類對象來代替 動態(tài)綁定重載 overload 參數(shù) 覆蓋 override 子類 抽象類與接口 抽象類 abstractclass 含有一個或以上抽象方法的類 抽象類不能被實例化 不能通過new生成對象 子類用extends關(guān)鍵字繼承抽象類 Person 接口 interface 對符合接口需求的類的一套規(guī)范 可以實現(xiàn)多繼承功能 用implement關(guān)鍵字實現(xiàn)接口 接口中的屬性都是用final修飾的常量 在這個類中 所有的成員函數(shù)都是抽象的 也就是說它們都只有說明沒有定義 接口中的方法都是用abstract修飾的抽象方法 在接口中只能給出這些抽象方法的方法名 返回值和參數(shù)列表 而不能定義方法體 即僅僅規(guī)定了一組信息交換 傳輸和處理的接口 Java的集合 集合概述集合框架集合接口集合類 集合概述 什么是Java中的集合 一種數(shù)據(jù)結(jié)構(gòu)表達一組數(shù)據(jù)序列無序 有序鍵 值 鏈表 循環(huán)數(shù) i j 隊列 棧 集合框架 集合接口 Collection接口Iterator接口List接口Set接口Map接口 Collection接口 無重復(fù) 無序 順序訪問的集合方法 Iteratoriterator 迭代器方法 booleanadd 添加元素方法 intsize 返回集合中元素的個數(shù) booleanisEmpty 判斷集合是否為空 booleancontains Objectobj 判斷集合是否包含某元素 booleanremove Objectobj 刪除集合中的元素 voidclear 清空集合 Object toArray 集合中的對象列表變成數(shù)組形式 Iterator接口 以迭代方式逐個訪問集合中各個元素 并安全的從Collection中除去適當(dāng)?shù)脑?方法 booleanhasNext 判斷是否到最后一個元素 Objectnext 順序取出下一個元素 voidremove 安全移除上次訪問的元素 與next 方法配合使用 List接口 繼承了Collection接口以定義一個允許重復(fù)項的有序集合 該接口不但能夠?qū)α斜淼囊徊糠诌M行處理 還添加了面向位置的操作 方法 voidadd intindex Objectobj 在指定位置index上添加元素 Objectget intindex 返回List中指定位置的元素intindexOf Objecto 返回第一個出現(xiàn)元素o的位置 否則返回 1 Objectset intindex Objectelement 用元素element取代位置index上的元素 并且返回舊的元素 Set接口 Set接口繼承Collection接口 而且它不允許集合中存在重復(fù)項 每個具體的Set實現(xiàn)類依賴添加的對象的equals 方法來檢查獨一性 Set接口沒有引入新方法 所以Set就是一個Collection 只不過其行為不同 Map接口 Map接口不是Collection接口的繼承 Map接口用于維護鍵 值對 key valuepairs 該接口描述了從不重復(fù)的鍵到值的映射 Objectput Objectkey Objectvalue 將互相關(guān)聯(lián)的一個關(guān)鍵字與一個值放入該映像 如果該關(guān)鍵字已經(jīng)存在 那么與此關(guān)鍵字相關(guān)的新值將取代舊值 方法返回關(guān)鍵字的舊值 如果關(guān)鍵字原先并不存在 則返回nullObjectremove Objectkey 從映像中刪除與key相關(guān)的映射Objectget Objectkey 獲得與關(guān)鍵字key相關(guān)的值 并且返回與關(guān)鍵字key相關(guān)的對象 如果沒有在該映像中找到該關(guān)鍵字 則返回null 集合類 ArrayList和LinkedListHashSet和TreeSetHashMap和TreeMapVector ArrayList和LinkedList ArrayList類封裝了一個動態(tài)再分配的Object 數(shù)組 每個ArrayList對象有一個capacity 這個capacity表示存儲列表中元素的數(shù)組的容量 LinkedList支持頻繁的從列表的中間位置添加和除去元素 而只要順序的訪問列表元素 HashSet和TreeSet 使用HashSet存儲重復(fù)自由的集合 當(dāng)需要從集合中以有序的方式插入和抽取元素時 使用TreeSet HashMap和TreeMap 在Map中插入 刪除和定位元素 HashMap是最好的選擇 但如果您要按自然順序或自定義順序遍歷鍵 那么TreeMap會更好 使用HashMap要求添加的鍵類明確定義了hashCode 和equals 的實現(xiàn) Vector Vector類可以實現(xiàn)可增長的對象數(shù)組 與數(shù)組一樣 它包含可以使用整數(shù)索引進行訪問的組件 但是 Vector的大小可以根據(jù)需要增大或縮小 以適應(yīng)創(chuàng)建Vector后進行添加或移除項的操作 異常處理 exceptionhandling 異常原因和處理需求Java異常層次結(jié)構(gòu)異常聲明與拋出捕獲異常 異常原因和處理需求 異常原因 用戶輸入錯誤設(shè)備 服務(wù)錯誤 物理限制代碼錯誤處理需求向用戶通告錯誤恢復(fù)或保存所有的操作結(jié)果允許用戶以適當(dāng)?shù)男问酵顺龀绦?Java異常層次結(jié)構(gòu) 內(nèi)部錯誤和資源耗盡錯誤 程序?qū)е碌腻e誤 錯誤的類型轉(zhuǎn)換 數(shù)組訪問越界 訪問空指針 文件讀取錯誤 URL格式錯誤 類不存在 檢測數(shù)組下標(biāo)是否越界非空判斷 通告用戶 安全退出 異常聲明與拋出 編寫程序不
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)審員考試試題及答案 (三)
- 海洋數(shù)字金融服務(wù)創(chuàng)新
- 2025年上海松江區(qū)天馬山學(xué)校招聘教師考試筆試試題(含答案)
- 老班長介紹課件
- 老年疼痛患者護理課件
- 老年護理課件模板
- 老年護理圖文課件
- 老年人心理健康咨詢課件
- 老師的視頻課件制作
- 《建筑項目合同約定場地估值爭議處理協(xié)議》
- 工程總承包管理制度
- 2025年云南新華印刷五廠有限責(zé)任公司招聘筆試參考題庫含答案解析
- 汽車實訓(xùn)室安全課件
- 臨時施工出入口交通疏導(dǎo)方案
- 《OPPLE歐普照明》課件
- 國家開放大學(xué)電大專科《建筑工程項目管理》期末試題及答案
- 醫(yī)療設(shè)備器材供貨安裝、調(diào)試及售后服務(wù)方案
- 部編版語文三年級上冊第四單元教材解讀大單元集體備課
- 10kV小區(qū)供配電設(shè)計、采購、施工EPC 投標(biāo)方案(技術(shù)方案)
- 2024-2025學(xué)年初中物理八年級下冊蘇科版(2024)教學(xué)設(shè)計合集
- 中外廣告史(第三版) 課件全套 何玉杰 第0-11章 緒論、中國古代廣告的發(fā)展- 日本廣告的發(fā)展
評論
0/150
提交評論