




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ACCP V4.0第三章第三章面向?qū)ο蟮母拍詈?Java 實(shí)現(xiàn)-1ACCP V4.02回顧q Java 中的數(shù)據(jù)類型分為兩個(gè)類別:原始數(shù)據(jù)類型、引用數(shù)據(jù)類型q 變量是存儲數(shù)據(jù)的基本單元q 數(shù)據(jù)轉(zhuǎn)換有兩種類型:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換q 數(shù)組用于將相同數(shù)據(jù)類型的多項(xiàng)數(shù)據(jù)存儲在連續(xù)的內(nèi)存單元中q Java 提供了一組豐富的運(yùn)算符q Java 支持以下控制語句編程結(jié)構(gòu):qif - elseqswitchqforqwhileqdo - whileACCP V4.03目標(biāo)q理解對象q理解類q理解抽象和封裝q理解對象與類之間的關(guān)系q掌握包的創(chuàng)建和導(dǎo)入ACCP V4.04面向?qū)ο缶幊蘋OP旨在在計(jì)算機(jī)程序
2、中模擬現(xiàn)實(shí)世界中的概念在 OOP 中,現(xiàn)實(shí)世界的所有事物全都被視為對象能夠在計(jì)算機(jī)程序中用類似的實(shí)體模擬現(xiàn)實(shí)世界中的實(shí)體設(shè)計(jì)和實(shí)現(xiàn)軟件系統(tǒng)的方法ACCP V4.05對象對對 象象面向?qū)ο缶幊痰暮诵臑橛?jì)算機(jī)應(yīng)用程序提供實(shí)用基礎(chǔ)完成特定任務(wù)表示現(xiàn)實(shí)世界中的實(shí)體“對象是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為。對象是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為?!盇CCP V4.06對象的示例收銀員對象顧客對象顧客姓名:朱麗葉年齡:28體重:52千克操作:購買商品狀態(tài)狀態(tài)姓名:布蘭尼職銜:收銀員年齡:35體重:60千克操作:收款打印帳單行為行為ACCP V4.07消息傳遞“消息指一個(gè)對象為執(zhí)行某項(xiàng)特定操
3、作而向另一個(gè)消息指一個(gè)對象為執(zhí)行某項(xiàng)特定操作而向另一個(gè)對象發(fā)送的請求對象發(fā)送的請求”消息傳遞消息傳遞當(dāng)需要執(zhí)行一項(xiàng)特定操作時(shí),通過向已為其定義此項(xiàng)操作的對象發(fā)送消息來請求對象之間通過傳遞消息實(shí)現(xiàn)相互通信ACCP V4.08類q 類以共同特性和操作定義實(shí)體q 類是用于組合各個(gè)對象所共有操作和屬性的一種機(jī)制形狀類形狀類動(dòng)物類動(dòng)物類汽車類汽車類類的示例類的示例“類是具有相同屬性和行為的一組對象的集合類是具有相同屬性和行為的一組對象的集合”ACCP V4.09類和對象的示例雇員雇員收銀員系統(tǒng)管理員倉庫管理員促銷員采購經(jīng)理ACCP V4.010屬性q 事物的特性在類中表示為變量q 每個(gè)對象的每個(gè)屬性都擁
4、有其特有的值q 屬性名稱由類的所有實(shí)例共享住址住址姓名姓名屬性屬性年齡年齡“在類中表示對象或?qū)嶓w擁有的特性時(shí)稱為屬性在類中表示對象或?qū)嶓w擁有的特性時(shí)稱為屬性 ”促銷員對象促銷員對象ACCP V4.011方法方法方法操作的實(shí)際實(shí)現(xiàn)如何執(zhí)行所請求的操作的規(guī)范方法指定操作對象數(shù)據(jù)的方式在得到操作請求時(shí)指定如何做的算法“對象執(zhí)行的操作稱為方法。對象執(zhí)行的操作稱為方法?!盇CCP V4.012方法的示例縫衣服的步驟縫衣服的步驟量尺寸量尺寸得到工具得到工具縫衣服縫衣服方法方法縫制衣服裁縫ACCP V4.013類和對象的區(qū)別 類是概念模型, 定義對象的所 有特性和所需 的操作對象是真實(shí)的模型類和對象類定義實(shí)
5、體對象是實(shí)際的實(shí)體類是對象的原型類是對象的原型所有屬于同一個(gè)類所有屬于同一個(gè)類的對象都具有相同的對象都具有相同的特性和操作的特性和操作ACCP V4.014封裝q 信息隱藏,隱藏對象的實(shí)現(xiàn)細(xì)節(jié),不讓用戶看到q 將東西包裝在一起,然后以新的完整形式呈現(xiàn)出來q例如,兩種或多種化學(xué)藥品組成一個(gè)膠囊q將方法和屬性一起包裝到一個(gè)單元中,單元以類的形式實(shí)現(xiàn)“隱藏屬性、方法或?qū)崿F(xiàn)細(xì)節(jié)的過程稱為封裝。隱藏屬性、方法或?qū)崿F(xiàn)細(xì)節(jié)的過程稱為封裝?!盇CCP V4.015封裝的示例 3-1接口 采購經(jīng)理羅杰斯先生法拉力公司.迪斯尼汽車公司.市場經(jīng)理雪莉女士 要求ACCP V4.016 封裝的示例 3-2有選擇地提供數(shù)
6、據(jù)法拉力公司迪斯尼汽車公司公共電話號碼電子郵箱產(chǎn)品種類私有備件的制造方法備件庫存?zhèn)浼闹圃斐杀竟搽娫捥柎a電子郵箱汽車種類私有汽車的組裝方法汽車庫存汽車的組裝成本ACCP V4.017封裝的示例 3-3 實(shí)體法拉力公司實(shí)體迪斯尼汽車公司 Auti Ltd.Buto Ltd.屬性電話號碼電子郵箱產(chǎn)品種類現(xiàn)有存貨數(shù)量雇員詳情所需物料詳情屬性電話號碼電子郵箱汽車種類汽車規(guī)格雇員詳情庫存詳情經(jīng)銷商詳情方法接收訂單備件的制造方法計(jì)算備件的制造成本計(jì)算利潤率方法發(fā)出訂單汽車的組裝方法計(jì)算汽車的組裝成本計(jì)算工資發(fā)出訂單編制必要報(bào)告ACCP V4.018抽象處理事物復(fù)雜性的方法處理事物復(fù)雜性的方法只關(guān)注事物的
7、重要細(xì)節(jié),而忽略事物的次要細(xì)節(jié)。ACCP V4.019抽象的示例遞交報(bào)告遞交報(bào)告速遞公司速遞公司在回執(zhí)確認(rèn)上簽名在回執(zhí)確認(rèn)上簽名返回回執(zhí)確認(rèn)返回回執(zhí)確認(rèn)史密斯大夫史密斯大夫?qū)?bào)告送往目的地將報(bào)告送往目的地包裝并密封報(bào)告包裝并密封報(bào)告ACCP V4.020數(shù)據(jù)抽象q抽取出關(guān)鍵數(shù)據(jù)q抽取出屬性和方法 “根據(jù)具體的應(yīng)用抽取出類的相關(guān)關(guān)屬性和操作?!盇CCP V4.021數(shù)據(jù)抽象的示例屬性NameStudentNOSeatNumber方法getName()getStudentNO()Student 類類getSeatNumber()ACCP V4.022在 Java 中實(shí)現(xiàn)類 語法語法class 其中
8、,class 是創(chuàng)建類所使用的關(guān)鍵字, 是類的名稱, 包含屬性和方法的聲明。ACCP V4.023定義類和創(chuàng)建對象q類的命名規(guī)則:q不能為 Java 中的關(guān)鍵字q不能包含空格或點(diǎn)號“. ”q可以下劃線“_”、字母或“$”符號開頭class Book String bookName; String authorName; int nopages; boolean available;ACCP V4.024類中的方法 6-1方法的定義方法的定義方法的名稱參數(shù)列表方法的主體方法返回的對象類型或原始類型ACCP V4.025類中的方法 6-2語法 ( , ,) 其中, 是方法返回值的數(shù)據(jù)類型 是用戶自
9、定義的方法名稱方法的參數(shù)列表是一組變量聲明。ACCP V4.026類中的方法 6-3不能為 Java 中的關(guān)鍵字不能包含空格或點(diǎn)號“.”可以下劃線“_”、字母或“$”符號開頭方法的命名規(guī)則方法的命名規(guī)則:ACCP V4.027類中的方法 6-4class Book String bookName; String authorName; int nopages; boolean available; void isAvailable() if(available = true) System.out.println(有這本書); .方法ACCP V4.028類中的方法 6-5q實(shí)例方法可使用圓點(diǎn)
10、符號來訪問q方法被調(diào)用的對象在圓點(diǎn)左邊,而方法的名稱在圓點(diǎn)右邊q例如: Obj.isAvailable();ACCP V4.029類中的方法 6-6class Book String bookName; String authorName; int nopages; boolean available; static void isAvailable() if(available = true)System.out.println(“有這本書); Book objBook = new Book();objBook.isAvailable();.圓點(diǎn)符號ACCP V4.030this 關(guān)鍵字q用
11、于任何實(shí)例方法內(nèi),指向當(dāng)前對象qthis 的值指向?qū)ζ湔{(diào)用當(dāng)前方法的對象 qthis 關(guān)鍵字可在需要當(dāng)前類類型的對象引用時(shí)使用 ACCP V4.031this 關(guān)鍵字的示例class Pixel int x;int y; void init (int x, int y) this.x = x; this.y = y; public static void main (String args) Pixel p = new Pixel(); p.init (4,3); 此程序初始化 x = 4 和 y = 3對象的引用ACCP V4.032構(gòu)造方法q每當(dāng)創(chuàng)建給定類的實(shí)例時(shí)就調(diào)用的方法q與類同名,但
12、沒有返回類型qJava 為對象分配內(nèi)存,初始化實(shí)例變量并調(diào)用構(gòu)造方法q兩種構(gòu)造方法q參數(shù)化構(gòu)造方法q隱式構(gòu)造方法ACCP V4.033參數(shù)化構(gòu)造方法的示例class Sdate int month; int day; int year; Sdate(int m,int d,int y) month=m; day=d; year=y; System.out.println(“日期是 + m + / + d + / + y + .); public static void main(String args) Sdate S1,S2; S1=new Sdate(11,27,1969); S2=new
13、 Sdate(3,3,1973); 參數(shù)化構(gòu)造方法ACCP V4.034隱式構(gòu)造方法的示例class Sdate int month=11; int day=27; int year=1969; public static void main(String args ) Sdate S1; S1=new Sdate(); 隱式構(gòu)造方法ACCP V4.035示例的構(gòu)造方法演示:示例 1public static void main(String args) Book objBook = new Book(CoreJava, Albert, 45, true); User objUser = ne
14、w User(); objUser.getBookStatus(objBook); Book(String book, String author, int pages, boolean status) bookName = book; authorName = author; nopages = pages; available = status; void getBookStatus(Book objBook) objBook.isAvailable(); ACCP V4.036包q 包允許將類組合成較小的單元(類似文件夾),使其易于找到和使用相應(yīng)的類文件q 有助于避免命名沖突。在使用許多類時(shí),類和方法的名稱很難決定。有時(shí)需要使用與其他類相同的名稱。包基本上隱藏了類并避免了名稱上的沖突q 包允許在更廣的范圍內(nèi)保護(hù)類、數(shù)據(jù)和方法,可以在包內(nèi)定義類,而在包外的代碼不能訪問該類 “包將類名空間劃分為更加容易管理的塊, 包既是命名機(jī)制也是可見度控制機(jī)制 ”ACCP V4.037創(chuàng)建包package mypackage;public class Calculate public double volume(double height, double width, double depth) 聲明包ACCP V4.038導(dǎo)入包import m
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中歷史第5單元中國近代社會生活的變遷第16課大眾傳媒的變遷學(xué)案新人教版必修2
- 2024-2025學(xué)年高中語文模塊復(fù)習(xí)回眸基礎(chǔ)練含解析新人教版必修5
- 2024-2025學(xué)年新教材高中數(shù)學(xué)第五章統(tǒng)計(jì)與概率5.4統(tǒng)計(jì)與概率的應(yīng)用課后篇鞏固提升新人教B版必修第二冊
- 2025年中國水上休閑行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 中國水果刀鑰匙扣項(xiàng)目投資可行性研究報(bào)告
- 菱鎂礦項(xiàng)目可行性分析報(bào)告(模板參考范文)
- 污水處理職業(yè)衛(wèi)生評估報(bào)告
- 2024-2025年保健食品分析報(bào)告
- 2025年中國環(huán)衛(wèi)清潔設(shè)備行業(yè)發(fā)展監(jiān)測及投資前景展望報(bào)告
- 華為公司的戰(zhàn)略分析報(bào)告
- 部編版小學(xué)五年級下冊《道德與法治》全冊教案含教學(xué)計(jì)劃
- 運(yùn)動(dòng)會活動(dòng)流程中的醫(yī)療安全保障措施
- 2025公司員工試用期合同(范本)
- 第十章皮膚軟組織擴(kuò)張術(shù)醫(yī)學(xué)美容教研室袁曉野講解
- 2025年冷鏈物流產(chǎn)品配送及倉儲管理承包合同3篇
- GB/T 19342-2024手動(dòng)牙刷一般要求和檢測方法
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
- 2022年露天煤礦安全資格證考試題庫-上(單選、多選題庫)
- 計(jì)價(jià)格(2002)10號文
- 青果巷歷史街區(qū)改造案例分析
- 樁身強(qiáng)度自動(dòng)驗(yàn)算表格Excel
評論
0/150
提交評論