网站大量收购独家精品文档,联系QQ:2885784924

Java 2程式设计 -CH05.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)中文稱為塑模語

文档评论(0)

zw4044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档