




已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟮腏ava實(shí)現(xiàn) 封裝 第一章 2 課程地位 3 相關(guān)課程回顧 publicclassTest publicstaticvoidmain String args for inti 0 i 10 i System out println i System out println i 10 請(qǐng)舉例說明類與對(duì)象的區(qū)別與聯(lián)系 超出了變量i的訪問范圍 請(qǐng)指出下列Java代碼中存在的錯(cuò)誤 并改正 4 就業(yè)技能結(jié)構(gòu)圖 5 預(yù)習(xí)檢查 舉例說明什么是方法重載 Java中的構(gòu)造方法與實(shí)例方法 有什么區(qū)別 6 本章任務(wù) 升級(jí)HelloACCP 輸出ACCP5 0教員的自我介紹 對(duì)屬性進(jìn)行封裝用構(gòu)造方法實(shí)現(xiàn)對(duì)象成員的初始化對(duì)構(gòu)造方法進(jìn)行重載 7 理解封裝的概念掌握private關(guān)鍵字掌握構(gòu)造方法掌握方法重載 本章目標(biāo) 8 為什么需要封裝2 1 編寫一個(gè)類 代表ACCP5 0教員 要求 具有屬性 姓名 年齡具有行為 自我介紹ACCP5 0教員的最小年齡要求 22歲 publicclassAccpTeacher1 publicStringname 教員姓名publicintage 年齡 返回自我介紹的內(nèi)容 publicStringintroduction return 大家好 我是 name 我今年 age 歲 9 為什么需要封裝2 2 編寫一個(gè)測(cè)試類 要求 實(shí)例化一個(gè)教員對(duì)象 并對(duì)其初始化在控制臺(tái)輸出該教員的自我介紹 publicclassAccpTeacher1Test publicstaticvoidmain String args AccpTeacher1teacher newAccpTeacher1 teacher name 李芳 teacher age 10 System out println teacher introduction 要滿足教員的最小年齡要求 可以通過對(duì)屬性的封裝來實(shí)現(xiàn) 10 什么是封裝 publicclassAccpTeacher2 privateStringname 教員姓名 返回教員姓名publicStringgetName returnname 設(shè)定教員姓名publicvoidsetName Stringname this name name 封裝 就是隱藏實(shí)現(xiàn)細(xì)節(jié)將屬性私有化 提供公有方法訪問私有屬性通過這些公有方法訪問私有屬性 AccpTeacher2teacher newAccpTeacher2 teacher setName 李芳 StringtName teacher getName 通過setter getter方法訪問name屬性 this代表當(dāng)前類的實(shí)例 11 如何實(shí)現(xiàn)封裝2 1 封裝的實(shí)現(xiàn) 1 修改屬性的可見性來限制對(duì)屬性的訪問2 為每個(gè)屬性創(chuàng)建一對(duì)賦值 setter 方法和取值 getter 方法 用于對(duì)這些屬性的訪問3 在setter和getter方法中 加入對(duì)屬性的存取限制 publicclassAccpTeacher3 privateStringname 教員姓名privateintage 年齡publicintgetAge returnage publicvoidsetAge intage if age 22 System out println 錯(cuò)誤 最小年齡應(yīng)為22歲 this age 22 如果不符合年齡要求 則賦予默認(rèn)值 else this age age 此處省略對(duì)name屬性的setter getter方法 1 2 3 12 如何實(shí)現(xiàn)封裝2 2 publicclassAccpTeacher3Test publicstaticvoidmain String args AccpTeacher3teacher newAccpTeacher3 teacher setName 李芳 teacher setAge 10 System out println teacher introduction 使用封裝 增加了數(shù)據(jù)訪問限制 增強(qiáng)了程序的可維護(hù)性 錯(cuò)誤 最小年齡應(yīng)為22歲 大家好 我是李芳 我今年22歲 測(cè)試類通過調(diào)用setter方法 為對(duì)象的各個(gè)屬性賦值 13 小結(jié)1 使用private關(guān)鍵字修飾某個(gè)成員變量后 這個(gè)成員變量可以被同一包中的其它類訪問嗎 在Java程序中 代碼封裝帶給我們的好處是什么 14 小結(jié)2 請(qǐng)通過代碼封裝 實(shí)現(xiàn)如下需求 編寫一個(gè)類Book 代表教材 具有屬性 名稱 title 頁(yè)數(shù) pageNum 其中頁(yè)數(shù)不能少于200頁(yè) 否則輸出錯(cuò)誤信息 并賦予默認(rèn)值200為各屬性設(shè)置賦值和取值方法具有方法 detail 用來在控制臺(tái)輸出每本教材的名稱和頁(yè)數(shù)編寫測(cè)試類BookTest進(jìn)行測(cè)試 為Book對(duì)象的屬性賦予初始值 并調(diào)用Book對(duì)象的detail方法 看看輸出是否正確 完整代碼實(shí)現(xiàn) 15 為什么需要構(gòu)造方法2 1 開發(fā)ACCP5 0教員類AccpTeacher4 要求 具有屬性 姓名 年齡 學(xué)歷 職位具有行為 自我介紹 publicclassAccpTeacher4 privateStringname 姓名privateintage 年齡privateStringeducation 學(xué)歷privateStringposition 職位publicStringintroduction return 大家好 我是 name 我今年 age 歲 學(xué)歷 education 目前職位是 position publicStringgetName returnname publicvoidsetName StringmyName name myName 以下是其他屬性的setter getter方法 此處省略 16 為什么需要構(gòu)造方法2 2 編寫一個(gè)測(cè)試類 要求 實(shí)例化一個(gè)教員對(duì)象 并對(duì)其初始化在控制臺(tái)輸出該教員的自我介紹 publicclassAccpTeacher4Test publicstaticvoidmain String args AccpTeacher4teacher newAccpTeacher4 teacher setName 李芳 teacher setAge 23 teacher setEducation 本科 System out println teacher introduction 要簡(jiǎn)化對(duì)象初始化的代碼 可以通過構(gòu)造方法來解決 大家好 我是李芳 我今年23歲 學(xué)歷本科 目前職位是null AccpTeacher4中有太多的屬性及對(duì)應(yīng)的setter方法 在初始化時(shí) 很容易就忘記了 有沒有可能簡(jiǎn)化對(duì)象初始化的代碼 17 什么是構(gòu)造方法 構(gòu)造方法負(fù)責(zé)對(duì)象成員的初始化工作 為實(shí)例變量賦予合適的初始值構(gòu)造方法必須滿足以下語(yǔ)法規(guī)則 1 方法名與類名相同2 沒有返回類型 publicclassAccpTeacher5 privateStringname 教員姓名 構(gòu)造方法publicAccpTeacher5 name 無名氏 publicclassAccpTeacher5Test publicstaticvoidmain String args AccpTeacher5teacher newAccpTeacher5 使用new關(guān)鍵字調(diào)用構(gòu)造方法 18 帶參數(shù)的構(gòu)造方法2 1 通過帶參數(shù)的構(gòu)造方法 顯式地為實(shí)例變量賦予初始值 publicclassAccpTeacher6 privateStringname 教員姓名privateintage 年齡privateStringeducation 學(xué)歷privateStringposition 職位 帶參數(shù)的構(gòu)造方法publicAccpTeacher6 StringpName intpAge StringpEducation StringpPosition name pName age pAge 可以增加對(duì)age等屬性的存取限制條件education pEducation position pPosition publicStringintroduction return 大家好 我是 name 我今年 age 歲 學(xué)歷 education 目前職位是 position 19 帶參數(shù)的構(gòu)造方法2 2 通過調(diào)用帶參數(shù)的構(gòu)造方法 簡(jiǎn)化對(duì)象初始化的代碼 publicclassAccpTeacher6Test publicstaticvoidmain String args AccpTeacher6teacher newAccpTeacher6 李芳 23 本科 咨詢師 System out println teacher introduction 創(chuàng)建對(duì)象時(shí) 一并完成了對(duì)象成員的初始化工作 大家好 我是李芳 我今年23歲 學(xué)歷本科 目前職位是咨詢師 20 小結(jié)3 編寫一個(gè)類Book2 代表教材 具有屬性 名稱 title 頁(yè)數(shù) pageNum 其中頁(yè)數(shù)不能少于200頁(yè) 否則輸出錯(cuò)誤信息 并賦予默認(rèn)值200具有方法 detail 用來在控制臺(tái)輸出每本教材的名稱和頁(yè)數(shù) 具有帶參數(shù)的構(gòu)造方法 用來完成對(duì)象的初始化工作 并在構(gòu)造方法中完成對(duì)頁(yè)數(shù)的最小值限制編寫測(cè)試類Book2Test進(jìn)行測(cè)試 初始化一個(gè)Book2對(duì)象 并調(diào)用該Book2對(duì)象的detail方法 看看輸出是否正確 完整代碼實(shí)現(xiàn) 21 生活中的方法重載 類 方法 方法參數(shù) 方法實(shí)現(xiàn) 司機(jī) 轎車 巴士 火車 駕駛 啟動(dòng) 行駛 等待乘客上車 啟動(dòng) 行駛 到站停車 正點(diǎn)發(fā)車 行駛 到站停車 如果用代碼實(shí)現(xiàn) 我們需要三個(gè)方法 這些方法的方法名稱相同 參數(shù)類型不同 22 方法重載的代碼示例1 方法重載并不陌生java io PrintStream類的println方法能夠打印數(shù)據(jù)并換行 根據(jù)數(shù)據(jù)類型的不同 有多種實(shí)現(xiàn)方式 publicclassTest publicstaticvoidmain String args inti 0 charc z Stringstr hello System out println i System out println c System out println str PrintStream println int println char println String 方法名相同 參數(shù)類型不同 調(diào)用不同的println方法 方法重載 23 方法重載的代碼示例2 java lang Math類的max 方法能夠從兩個(gè)數(shù)字中取出最大值 它有多種實(shí)現(xiàn)方式運(yùn)行時(shí) Java虛擬機(jī)先判斷給定參數(shù)的類型 然后決定到底執(zhí)行哪個(gè)max 方法 publicclassTest publicstaticvoidmain String args Math max 1 2 Math max 1 0F 2 F Math max 1 0 2 方法重載 24 構(gòu)造方法重載2 1 構(gòu)造方法重載是方法重載的典型示例 publicclassAccpTeacher7 privateStringname 教員姓名privateStringschool 北京中心 所在中心publicAccpTeacher7 Stringname this name name 設(shè)定教員姓名 publicAccpTeacher7 Stringname Stringschool this name name 設(shè)定教員姓名this school school 設(shè)定教員的所在中心 publicStringintroduction return 大家好 我是 school 的 name 構(gòu)造方法重載 25 構(gòu)造方法重載2 2 通過調(diào)用不同的構(gòu)造方法來表達(dá)對(duì)象的多種初始化行為例如 默認(rèn)情況下 教師來自北京中心 初始化時(shí) 只需提供教員姓名有時(shí) 需要提供所在中心名稱及教員姓名 publicclassAccpTeacher7Test publicstaticvoidmain String args AccpTeacher7teacher1 newAccpTeacher7 李芳 System out println teacher1 introduction AccpTeacher7teacher2 newAccpTeacher7 張欣 天津中心 System out println teacher2 introduction 大家好 我是北京中心的李芳大家好 我是天津中心的張欣 26 小結(jié)4 編寫一個(gè)類Book3 代表教材 具有屬性 名稱 title 頁(yè)數(shù) pageNum 種類 type 具有方法 detail 用來在控制臺(tái)輸出每本教材的名稱 頁(yè)數(shù) 種類具有兩個(gè)帶參構(gòu)造方法 第一個(gè)構(gòu)造方法中 設(shè)置教材種類為 計(jì)算機(jī) 固定 其余屬性的值由參數(shù)給定 第二個(gè)構(gòu)造方法中 所有屬性的值都由參數(shù)給定編寫測(cè)試類Book3Test進(jìn)行測(cè)試 分別以兩種方式完成對(duì)兩個(gè)Book3對(duì)象的初始化工作 并分別調(diào)用它們的detail方法 看看輸出是否正確 完整代碼實(shí)現(xiàn) 27 給定如下Java代碼 請(qǐng)指出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)無線固定接入臺(tái)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)方錘T型組合市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)數(shù)碼多媒體音箱市場(chǎng)調(diào)查研究報(bào)告
- 2025-2030年中國(guó)井控裝置行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及投資潛力研究報(bào)告
- 肇慶市實(shí)驗(yàn)中學(xué)高中生物一:細(xì)胞的多樣性和統(tǒng)一性習(xí)題課
- 肇慶市實(shí)驗(yàn)中學(xué)高中生物:第六章細(xì)胞生命歷程及減數(shù)分裂測(cè)試卷評(píng)講(第2課時(shí))教案
- 小學(xué)一年級(jí)語(yǔ)文下冊(cè)《動(dòng)物兒歌》課文仿寫范文素材
- 新疆司法警官職業(yè)學(xué)院《計(jì)算方法(Ⅱ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年中國(guó)自動(dòng)崩解時(shí)限檢查儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 新疆伊寧市第七中學(xué)2025年初三下-第三次月考數(shù)學(xué)試題試卷含解析
- 青年博物館文創(chuàng)產(chǎn)品消費(fèi)研究:一個(gè)社會(huì)實(shí)踐分析視角
- 政策實(shí)施效果評(píng)估模型-深度研究
- 2025版學(xué)校學(xué)生食堂餐具清洗消毒服務(wù)合同2篇
- 學(xué)校基金會(huì)的資金籌集與運(yùn)用策略
- 調(diào)度室副主任安全生產(chǎn)職責(zé)模版(3篇)
- 虛擬現(xiàn)實(shí)導(dǎo)覽設(shè)計(jì)-洞察分析
- 【儲(chǔ)能】工商業(yè)儲(chǔ)能業(yè)務(wù)開發(fā)要點(diǎn)及策略分享
- 【MOOC】制造技術(shù)基礎(chǔ)訓(xùn)練-北京理工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 耐克的人力資源管理
- 經(jīng)腋窩無充氣腔鏡甲狀腺手術(shù)
- 爬升腳手架施工方案
評(píng)論
0/150
提交評(píng)論