- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9-1物件导向的世界9-1-1物件导向的发展.ppt
第九章;本章學習目標:;章節目錄;章節目錄;所謂「物件導向」(Object Oriented)是將真實世界的事物模組化,主要目的是為了提供軟體的再使用性和可讀性。 ;章節目錄;9-1-1 物件導向的世界;提出資料抽象化;smalltalk程式語言;因此,物件導向應用於分析和系統設計時,稱為;章節目錄;在物件導向的世界裡,通常是透過物件和傳遞的訊息來表現所有動作。 ;物件的描述;訊息的傳遞.;訊息的傳遞..;章節目錄;9-2 物件導向的組成;章節目錄;資料抽象化(Data Abstraction)是以
應用程式為目的來決定抽象化的角度
基本上就是「簡化」實體功能。
延續對東方人的觀察,如果要描述一位朋友
身高可能是175公分
身材高高瘦瘦
短髮,臉上戴一付眼睛
這就是資料抽象化的結果,針對一些易辨認的特徵將這個人進行抽離。 ;然後再來看看電梯的例子,如果要將電梯進行抽象化,控制面板就是一個經過抽象化後的簡易操作介面。
我們若只考慮電梯是要往上或向下移動,將屬性和對應的操作行為結合起來,就是「封裝」(Encapsulation)。
對於使用電梯的人來說,並不需要知道電梯移動的細節,只要能到達設定的樓層就好。 ;電梯經過抽象化之後,同時也規範了操作的模組,如果要打開或關閉電梯門,必須呼叫另一個物件模組,才能進行屬性值的修改。
電梯有可能進行維修,只要使用者的操作介面未做更改,這種無法透過外部進行資料屬性存取的方式亦稱做「資訊隱藏」(Information hiding)。
資料抽象化的目的是方便於日後的維護,當應用程式的複雜性愈高,資料抽象化愈能提高程式的再利用性和閱讀性。 ;章節目錄;9-2-2 抽象資料型別;抽象型別資料的存取範圍;章節目錄;9-2-3 類別和物件;我們已經知道真實世界裡不同的物體會有不同的外觀、顏色和表現行為。
為了讓物件導向的技術能模擬真實的世界,利用「實體變數」(Instance variable)來表現物件內部的資料結構。
實體變數可用來保留各個實體的狀態,若某個實體變數的值被修改,只會影響此實體,與其他的實體的狀態並無關係。 ;相對於實體變數的「類別變數」(class variable),用來呈現類別的屬性。
既然物件是透過類別來產生,表示類別變數是此類別的實體物件所共有。 ;建構式和解構式;章節目錄;9-2-4 方法;認識成員;章節目錄;9-3 繼承;以UML來表示繼承關係
白色空心箭頭會指向父類別
圖中說明roadster和normalcar類別繼承了car類別
表示car類別是一個「父類別」(super class)
roadster類別則是「子類別」(sub class)。
car定義的兩個方法:speed()和surface()也能由子類別來繼承;章節目錄;9-3-1 通化和特化;繼承關係;章節目錄;另一種繼承關係是組合(composition),稱為has_a關係
表示在模組概念中,物件是其他物件模組的一部份,例如電腦是一個物件,它是由主機、螢幕、鍵盤等物件組合而成;章節目錄;9-4 多元操作;章節目錄;9-4-1 動態繫結;章節目錄;所謂「抽象類別」(abstract class)是繼承關係中
父類別定義了方法,卻由子類別來執行
在父類別中定義的方法,稱為「抽象方法」(abstract method);重點整理.;重點整理..;重點整理…
文档评论(0)