版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、HandsOn第二講第二講面向?qū)ο蟮母拍詈?Java 實(shí)現(xiàn)HandsOn2回顧q Java 中的數(shù)據(jù)類(lèi)型分為兩個(gè)類(lèi)別:原始數(shù)據(jù)類(lèi)型、引用數(shù)據(jù)類(lèi)型q 變量是存儲(chǔ)數(shù)據(jù)的基本單元q 數(shù)據(jù)轉(zhuǎn)換有兩種類(lèi)型:自動(dòng)類(lèi)型轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換q 數(shù)組用于將相同數(shù)據(jù)類(lèi)型的多項(xiàng)數(shù)據(jù)存儲(chǔ)在連續(xù)的內(nèi)存單元中q Java 提供了一組豐富的運(yùn)算符q Java 支持以下控制語(yǔ)句編程結(jié)構(gòu):qif - elseif - elseqswitchswitchqforforqwhilewhileqdo - whiledo - whileHandsOn3目標(biāo)q理解對(duì)象q理解類(lèi)q理解抽象和封裝q理解對(duì)象與類(lèi)之間的關(guān)系q掌握包的創(chuàng)建和導(dǎo)入Ha
2、ndsOn4面向?qū)ο缶幊蘋(píng)OP旨在在計(jì)算機(jī)程序中模擬現(xiàn)實(shí)世界中的概念在 OOP 中,現(xiàn)實(shí)世界的所有事物全都被視為對(duì)象能夠在計(jì)算機(jī)程序中用類(lèi)似的實(shí)體模擬現(xiàn)實(shí)世界中的實(shí)體設(shè)計(jì)和實(shí)現(xiàn)軟件系統(tǒng)的方法HandsOn5對(duì)象對(duì)對(duì) 象象面向?qū)ο缶幊痰暮诵臑橛?jì)算機(jī)應(yīng)用程序提供實(shí)用基礎(chǔ)完成特定任務(wù)表示現(xiàn)實(shí)世界中的實(shí)體“對(duì)象是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為。對(duì)象是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為?!盚andsOn6對(duì)象的示例收銀員對(duì)象顧客對(duì)象顧客姓名:朱麗葉年齡:28體重:52千克操作:購(gòu)買(mǎi)商品狀態(tài)狀態(tài)姓名:布蘭尼職銜:收銀員年齡:35體重:60千克操作:收款打印帳單行為行為HandsOn7消息傳
3、遞“消息指一個(gè)對(duì)象為執(zhí)行某項(xiàng)特定操作而向另一個(gè)消息指一個(gè)對(duì)象為執(zhí)行某項(xiàng)特定操作而向另一個(gè)對(duì)象發(fā)送的請(qǐng)求對(duì)象發(fā)送的請(qǐng)求”消息傳遞消息傳遞當(dāng)需要執(zhí)行一項(xiàng)特定操作時(shí),通過(guò)向已為其定義此項(xiàng)操作的對(duì)象發(fā)送消息來(lái)請(qǐng)求對(duì)象之間通過(guò)傳遞消息實(shí)現(xiàn)相互通信HandsOn8類(lèi)q 類(lèi)以共同特性和操作定義實(shí)體q 類(lèi)是用于組合各個(gè)對(duì)象所共有操作和屬性的一種機(jī)制形狀類(lèi)形狀類(lèi)動(dòng)物類(lèi)動(dòng)物類(lèi)汽車(chē)類(lèi)汽車(chē)類(lèi)類(lèi)的示例類(lèi)的示例“類(lèi)是具有相同屬性和行為的一組對(duì)象的集合類(lèi)是具有相同屬性和行為的一組對(duì)象的集合”HandsOn9類(lèi)和對(duì)象的示例雇員雇員收銀員系統(tǒng)管理員倉(cāng)庫(kù)管理員促銷(xiāo)員采購(gòu)經(jīng)理HandsOn10屬性q 事物的特性在類(lèi)中表示為變量q
4、每個(gè)對(duì)象的每個(gè)屬性都擁有其特有的值q 屬性名稱(chēng)由類(lèi)的所有實(shí)例共享住址住址姓名姓名屬性屬性年齡年齡“在類(lèi)中表示對(duì)象或?qū)嶓w擁有的特性時(shí)稱(chēng)為屬性在類(lèi)中表示對(duì)象或?qū)嶓w擁有的特性時(shí)稱(chēng)為屬性 ”促銷(xiāo)員對(duì)象促銷(xiāo)員對(duì)象HandsOn11方法方法方法操作的實(shí)際實(shí)現(xiàn)如何執(zhí)行所請(qǐng)求的操作的規(guī)范方法指定操作對(duì)象數(shù)據(jù)的方式在得到操作請(qǐng)求時(shí)指定如何做的算法“對(duì)象執(zhí)行的操作稱(chēng)為方法。對(duì)象執(zhí)行的操作稱(chēng)為方法?!盚andsOn12方法的示例縫衣服的步驟縫衣服的步驟量尺寸量尺寸得到工具得到工具縫衣服縫衣服方法方法縫制衣服裁縫HandsOn13類(lèi)和對(duì)象的區(qū)別 類(lèi)是概念模型, 定義對(duì)象的所 有特性和所需 的操作對(duì)象是真實(shí)的模型類(lèi)和對(duì)
5、象類(lèi)定義實(shí)體對(duì)象是實(shí)際的實(shí)體類(lèi)是對(duì)象的原型類(lèi)是對(duì)象的原型所有屬于同一個(gè)類(lèi)所有屬于同一個(gè)類(lèi)的對(duì)象都具有相同的對(duì)象都具有相同的特性和操作的特性和操作HandsOn14封裝q 信息隱藏,隱藏對(duì)象的實(shí)現(xiàn)細(xì)節(jié),不讓用戶看到q 將東西包裝在一起,然后以新的完整形式呈現(xiàn)出來(lái)q例如,兩種或多種化學(xué)藥品組成一個(gè)膠囊q將方法和屬性一起包裝到一個(gè)單元中,單元以類(lèi)的形式實(shí)現(xiàn)“隱藏屬性、方法或?qū)崿F(xiàn)細(xì)節(jié)的過(guò)程稱(chēng)為封裝。隱藏屬性、方法或?qū)崿F(xiàn)細(xì)節(jié)的過(guò)程稱(chēng)為封裝?!盚andsOn15封裝的示例 3-1接口 采購(gòu)經(jīng)理羅杰斯先生法拉力公司. .迪斯尼汽車(chē)公司. .市場(chǎng)經(jīng)理雪莉女士 要求HandsOn16 封裝的示例 3-2有選擇地
6、提供數(shù)據(jù)法拉力公司迪斯尼汽車(chē)公司公共電話號(hào)碼電子郵箱產(chǎn)品種類(lèi)私有備件的制造方法備件庫(kù)存?zhèn)浼闹圃斐杀竟搽娫捥?hào)碼電子郵箱汽車(chē)種類(lèi)私有汽車(chē)的組裝方法汽車(chē)庫(kù)存汽車(chē)的組裝成本HandsOn17封裝的示例 3-3 實(shí)體法拉力公司實(shí)體迪斯尼汽車(chē)公司 Auti LtdAuti Ltd . .Buto LtdButo Ltd. .屬性電話號(hào)碼電子郵箱產(chǎn)品種類(lèi)現(xiàn)有存貨數(shù)量雇員詳情所需物料詳情屬性電話號(hào)碼電子郵箱汽車(chē)種類(lèi)汽車(chē)規(guī)格雇員詳情庫(kù)存詳情經(jīng)銷(xiāo)商詳情方法接收訂單備件的制造方法計(jì)算備件的制造成本計(jì)算利潤(rùn)率方法發(fā)出訂單汽車(chē)的組裝方法計(jì)算汽車(chē)的組裝成本計(jì)算工資發(fā)出訂單編制必要報(bào)告HandsOn18抽象處理事物復(fù)雜
7、性的方法處理事物復(fù)雜性的方法只關(guān)注事物的重要細(xì)節(jié),而忽略事物的次要細(xì)節(jié)。HandsOn19抽象的示例遞交報(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)告HandsOn20數(shù)據(jù)抽象q抽取出關(guān)鍵數(shù)據(jù)q抽取出屬性和方法 “根據(jù)具體的應(yīng)用抽取出類(lèi)的相關(guān)關(guān)屬性和操作。”HandsOnTHANK YOUSUCCESS2022-2-20可編輯可編輯HandsOn22數(shù)據(jù)抽象的示例屬性NameStudentNOSeatNumber方法getName()getStudentNO()Student
8、類(lèi)類(lèi)getSeatNumber()HandsOn23在 Java 中實(shí)現(xiàn)類(lèi) 語(yǔ)法語(yǔ)法class 其中,class 是創(chuàng)建類(lèi)所使用的關(guān)鍵字, 是類(lèi)的名稱(chēng), 包含屬性和方法的聲明。HandsOn24定義類(lèi)和創(chuàng)建對(duì)象q類(lèi)的命名規(guī)則:q不能為 Java 中的關(guān)鍵字q不能包含空格或點(diǎn)號(hào)“. ”q可以下劃線“_”、字母或“$”符號(hào)開(kāi)頭class Book String bookName; String authorName; int nopages; boolean available;HandsOn25類(lèi)中的方法 6-1方法的定義方法的定義方法的名稱(chēng)參數(shù)列表方法的主體方法返回的對(duì)象類(lèi)型或原始類(lèi)型Hand
9、sOn26類(lèi)中的方法 6-2語(yǔ)法 ( , ,) 其中, 是方法返回值的數(shù)據(jù)類(lèi)型 是用戶自定義的方法名稱(chēng)方法的參數(shù)列表是一組變量聲明。HandsOn27類(lèi)中的方法 6-3不能為 Java 中的關(guān)鍵字不能包含空格或點(diǎn)號(hào)“.”可以下劃線“_”、字母或“$”符號(hào)開(kāi)頭方法的命名規(guī)則方法的命名規(guī)則: :HandsOn28類(lèi)中的方法 6-4class Book String bookName; String authorName; int nopages; boolean available; void isAvailable() if(available = true) System.out.printl
10、n(有這本書(shū)); .方法HandsOn29類(lèi)中的方法 6-5q實(shí)例方法可使用圓點(diǎn)符號(hào)來(lái)訪問(wèn)q方法被調(diào)用的對(duì)象在圓點(diǎn)左邊,而方法的名稱(chēng)在圓點(diǎn)右邊q例如: Obj.isAvailable();HandsOn30類(lèi)中的方法 6-6class Book String bookName; String authorName; int nopages; boolean available; static void isAvailable() if(available = true)System.out.println(“有這本書(shū)); Book objBook = new Book();objBook. .
11、isAvailable();.圓點(diǎn)符號(hào)HandsOn31this 關(guān)鍵字q用于任何實(shí)例方法內(nèi),指向當(dāng)前對(duì)象qthis 的值指向?qū)ζ湔{(diào)用當(dāng)前方法的對(duì)象 qthis 關(guān)鍵字可在需要當(dāng)前類(lèi)類(lèi)型的對(duì)象引用時(shí)使用 HandsOn32this 關(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對(duì)象的引用Hand
12、sOn33構(gòu)造方法q每當(dāng)創(chuàng)建給定類(lèi)的實(shí)例時(shí)就調(diào)用的方法q與類(lèi)同名,但沒(méi)有返回類(lèi)型qJava 為對(duì)象分配內(nèi)存,初始化實(shí)例變量并調(diào)用構(gòu)造方法q兩種構(gòu)造方法q參數(shù)化構(gòu)造方法q隱式構(gòu)造方法HandsOn34參數(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;
13、S1=new Sdate(11,27,1969); S2=new Sdate(3,3,1973); 參數(shù)化構(gòu)造方法HandsOn35隱式構(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)造方法HandsOn36示例的構(gòu)造方法演示:示例 1public static void main(String args) Book objBook = new Book(CoreJava, Albert,
14、45, true); User objUser = new 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(); HandsOn37包q 包允許將類(lèi)組合成較小的單元(類(lèi)似文件夾),使其易于找到
15、和使用相應(yīng)的類(lèi)文件q 有助于避免命名沖突。在使用許多類(lèi)時(shí),類(lèi)和方法的名稱(chēng)很難決定。有時(shí)需要使用與其他類(lèi)相同的名稱(chēng)。包基本上隱藏了類(lèi)并避免了名稱(chēng)上的沖突q 包允許在更廣的范圍內(nèi)保護(hù)類(lèi)、數(shù)據(jù)和方法,可以在包內(nèi)定義類(lèi),而在包外的代碼不能訪問(wèn)該類(lèi) “包將類(lèi)名空間劃分為更加容易管理的塊, 包既是命名機(jī)制也是可見(jiàn)度控制機(jī)制 ”HandsOn38創(chuàng)建包package mypackage;public class Calculate public double volume(double height, double width, double depth) 聲明包HandsOn39導(dǎo)入包import mypackage.Calculate;public class P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026安徽淮南市壽縣職業(yè)中專(zhuān)學(xué)校機(jī)電專(zhuān)業(yè)職教高考教師招聘2人考試參考試題及答案解析
- 2026年安康市漢濱區(qū)第一醫(yī)院招聘(17人)考試參考試題及答案解析
- 2026江蘇揚(yáng)州錦耀置業(yè)有限公司招聘專(zhuān)業(yè)工作人員1人考試參考題庫(kù)及答案解析
- 2026鞍鋼工程發(fā)展公司高校畢業(yè)生招聘(遼寧)考試備考題庫(kù)及答案解析
- 2026日照銀行見(jiàn)習(xí)人員招聘10人考試備考試題及答案解析
- 2026浙江臺(tái)州恩澤醫(yī)療中心(集團(tuán))招聘高層次衛(wèi)技人員51人考試參考題庫(kù)及答案解析
- 北京市豐臺(tái)區(qū)東鐵匠營(yíng)街道蒲黃榆社區(qū)衛(wèi)生服務(wù)中心招聘1人考試參考試題及答案解析
- 2026云南保山市昌寧縣融媒體中心招聘公益性崗位人員1人考試參考題庫(kù)及答案解析
- 2026福建福州市閩侯縣教育局研究生招聘44人考試參考試題及答案解析
- 2026年安徽醫(yī)科大學(xué)臨床醫(yī)學(xué)院人才招聘124名考試參考題庫(kù)及答案解析
- 2026秋招:澳森特鋼集團(tuán)試題及答案
- 哲學(xué)史重要名詞解析大全
- 2026年寧夏黃河農(nóng)村商業(yè)銀行科技人員社會(huì)招聘?jìng)淇碱}庫(kù)及答案詳解(易錯(cuò)題)
- 銀行借款抵押合同范本
- DB37-T4975-2025分布式光伏直采直控技術(shù)規(guī)范
- 兒童糖尿病的發(fā)病機(jī)制與個(gè)體化治療策略
- 脫硫廢水零排放項(xiàng)目施工方案
- 2026年海南衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)參考答案詳解
- 水泥產(chǎn)品生產(chǎn)許可證實(shí)施細(xì)則2025
- 急性心梗合并急性心衰護(hù)理
- 肺原位腺癌病理課件講解
評(píng)論
0/150
提交評(píng)論