- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 2程式设计 -CH05
第5章 類別與物件 5-1 物件導向的基礎 5-2 Java的類別與物件 – 封裝 5-3 類別的建構子 5-4 使用物件的成員資料 5-5 在物件使用類別變數與方法 5-1 物件導向的基礎 5-1-1 物件是第二個黑盒子 5-1-2 物件導向的程式分析 5-1-3 物件導向程式語言的種類 5-1-4 物件導向程式語言 5-1-5 UML的基礎 5-1 物件導向的基礎 「物件導向程式設計」(Object-oriented Programming,簡稱OOP)是模組化程式設計的一種重要轉變,這是一種更符合人性化的程式設計方法,因為我們本來就生活在一個物件的世界,思考模式也是導循著物件導向的模式。 5-1-1 物件是第二個黑盒子-說明 「物件」(Object)是物件導向技術的關鍵,以程式的角度來說,物件是資料與相關程序和函數結合在一起的組合體,資料是變數,程序和函數在Java語言稱為方法,如下圖所示: 5-1-1 物件是第二個黑盒子-封裝 物件的方法是對外的使用介面,變數和方法都包裹在一個黑盒子,實作程式碼都包裹隱藏起來,稱為「封裝」(Encapsulation)。 對於程式設計者來說,我們並不用考慮黑盒子內部的程式碼是如何撰寫,只需要知道這個物件提供什麼介面和如何使用它。 事實上,開車時並不需要了解車子為什會發動,換擋的變速箱擁有多少個齒輪才能正確操作,車子對我們來說只是一個黑盒子,唯一要作的是學習如何開好車。同理,沒有什麼人了解電視如何能夠收到訊號,但是我們知道打開電源,更換頻道就可以看到影像。 5-1-1 物件是第二個黑盒子-特性 狀態(State):物件所有「屬性」(Attributes)目前的狀態值,屬性是用來儲存物件的狀態,可以簡單的只是一個布林值變數,也可能是另一個物件,例如:車子的車型、排氣量、色彩和自排或手排等屬性。 行為(Behavior):行為是物件可見部分提供的服務,可以作什麼事,例如:車子可以發動、停車、加速和換擋等。 識別字(Identity):識別字是用來識別不同的物件,每一個物件都擁有獨一無二的識別字,Java語言是使用物件參考(Reference)作為物件的識別字,簡單的說,就是物件實際儲存的記憶體位址。 5-1-2 物件導向的程式分析-說明 在1970~80年間主要的軟體工程程式分析方法是第4章說明的「由上而下分析法」(Top-down Design),不過這種分析方法有一些問題,如下所示: 由上而下分析法的整個處理過程,只是找出解決問題的程序或函數,也就是各別函數的程式碼,而沒有真正的考量到程式使用的資料本身。 由上而下分析法得到的函數很難被重複使用,因為這些函數都是針對特定問題量身定製,函數需要大幅修改才能使用在其它問題上。 5-1-2 物件導向的程式分析-資訊隱藏 由上而下的分析法經常需要配合「由下而上分析法」(Bottom-up Design),這種方法是由下而上,先尋找可以重複使用的軟體元件,然後由下而上組合起來,以解決整個問題。 這些重複使用的軟體元件是一個個模組,如同電腦硬體的「隨插即用」(Plug and Play),只需將模組插入軟體系統就可以馬上運作,而不用考慮模組本身的詳細內容,只需它符合系統需求,如此即可把實際處理的資料隱藏起來,稱為「資訊隱藏」(Information Hiding)。 物件就是包含資料和處理這些資料的函數的模組,以達到資訊隱藏的目的。 5-1-3 物件導向程式語言的種類 物件導向程式語言的精神是物件,不過支援物件的程式語言並非就是物件導向程式語言,它可能只是一種物件基礎程式語言,如下所示: 物件基礎程式語言(Object-based Languages):只提供資料抽象化和物件觀念,例如:VB 6,不過新版VB.NET是物件導向程式語言。 物件導向程式語言(Object-oriented Languages):支援封裝、繼承和多形的觀念。 5-1-4 物件導向程式語言 封裝(Encapsulation):封裝是將資料和處理資料的程序與函數組合起來建立物件。在Java語言定義物件是使用「類別」(Class),內含屬性和方法,屬於一種抽象資料型態(Abstract Data Type)。 繼承(Inheritance):繼承是物件的再利用,當定義好一個類別後,其它類別可以繼承這個類別的資料和方法,並且新增或取代繼承物件的資料和方法。 多形(Polymorphism):類別如果需要處理各種不同資料型態時,並不需要針對不同資料型態建立不同類別,可以直接繼承基礎類別,建立同名方法處理不同的資料型態,因為方法名稱相同,只是程式碼不同,也稱為「同名異式」。 5-1-5 UML的基礎-1 UML(Unified Modelling Language)中文稱為塑模語
您可能关注的文档
- 10控制算法.ppt
- 物理教学论 课堂讨论主题-ch8.ppt
- Prodigy_Xp Int.ppt
- 2011版初中物理课程标准修订(新).ppt
- 8-统计回归模型.ppt
- 2012优化方案高考数学(理)总复习(北师大版)第9章§9.2.ppt
- 校长培训班专题讲座.ppt
- 中国的疆界和行政区划.ppt
- GSM系统物理结构.ppt
- 高考议论文框架结构.ppt
- 2024年度党员干部专题组织生活会个人新四各方面对照检查材料3篇合集.docx
- 2023年民主生活会领导干部个人发言3篇范文.docx
- 第二批主题教育专题组织生活会普通党员个人对照检查材料合集2篇.docx
- 学习以案促改党纪教育专题组织生活会个人对照检查材料两篇.docx
- 党员领导干部2023年民主生活会“六个方面”个人对照检查材料3篇范文.docx
- 党员干部“严守纪律规矩 加强作风建设”组织生活会个人对照检查材料集合篇.docx
- 2024班子防治统计造假专题民主生活会对照检查材料两篇范文.docx
- 2024公司机关党支部教育专题组织生活会个人对照检查材料两篇.docx
- 2023年度专题民主生活会个人对照新6个对照方面检查材料3篇文稿.docx
- 2024第二批主题教育专题组织生活会对照检查材料2篇文本.docx
最近下载
- 部编版小学语文六年级下册第三单元教材解读分析.pptx
- 2025年江苏护理职业学院单招职业技能测试题库及答案参考.docx VIP
- 网络对大学生的影响与对策.doc VIP
- 特殊教育教学设计x.pptx VIP
- 2023年安徽医学高等专科学校单招综合素质考试试题及答案解析.docx
- IPC J-STD-001H 2020 EN 最新英文 版的.pdf
- 韩大元 宪法(第七版)全套课件.pptx
- 上海中心大厦施工组织设计.pdf
- 新疆维吾尔自治区2024年普通高考第一次适应性检测(一模)理科综合试卷(含答案).pdf
- (2025年新版本)人教版七年级数学下册《10.3 实际问题与二元一次方程组》教案..docx VIP
文档评论(0)