物件导向的观念课件.ppt

上传人(卖家):三亚风情 文档编号:3400735 上传时间:2022-08-27 格式:PPT 页数:38 大小:588.50KB
下载 相关 举报
物件导向的观念课件.ppt_第1页
第1页 / 共38页
物件导向的观念课件.ppt_第2页
第2页 / 共38页
物件导向的观念课件.ppt_第3页
第3页 / 共38页
物件导向的观念课件.ppt_第4页
第4页 / 共38页
物件导向的观念课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、第三章 物件導向的觀念 軟體工程-物件導向程式設計與UML系統分析實作3.1 模組與物件 o在物件導向程式設計的觀念提出之前,軟體開發者,大多是使用結構化的程式設計。模組o模組就是用一個單一的函式所組成一連串的程式敘述,可解決一最小的問題。圖3-1汽車行駛程式呼叫的模組圖註:以流程圖來表現,每個方塊代表一個模組物件導向語言物件導向語言o物件導向語言物件導向語言顧名思義就是以物件為程式設計時最主要考慮到的對象。圖3-2物件之間靠傳遞訊息,啟動某些操作 3.2物件導向基本觀念 o世界是由各種物件(Object)所組成,同類的物件可以再加以抽象化而成類別(Class),而每一類別具有自己的屬性(At

2、tribute)來描述其特性與方法(Method)來描述其動態之行為,彼此間之互動是藉由訊息(Message)傳遞來溝通。類別類別(Class)o為了簡化問題必須將各個物件加以分類,分類的結果便是產生類別(Class)圖3-3 物件導向類別圖表示法 實體實體(Instance)o實體也就是物件實體,是經由類別描述過的物件,可說是類別的實體化,也就是產生一個一個的物件。屬性屬性(Attribute)o屬性是物件所擁有的資料描述或項目,亦有稱為資料結構或狀態。有的將靜態的資料稱為屬性,動態的資料稱為狀態(State)。方法方法(Method)o方法亦稱為操作(Operation)或行為(Behav

3、ior),方法是物件的動作,不同的訊息會對應到不同的處理方法。訊息訊息(Message)o訊息是物件之間互相溝通的工具,當物件收到訊息後,物件會依據訊息內容而執行不同的動作。3.3 物件重要特性 o封裝性封裝性(Encapsulation)o繼承繼承(Inheritance)o多型多型(Polymorphism)o覆蓋覆蓋(Overriding)o動態連結動態連結(Dynamic Binding)封裝性封裝性(Encapsulation)o封裝即所謂資訊隱藏(Information Hiding),主要是將物件的內外部份分開來,其他物件只能藉由外部的界面取得其提供的資料,物件內部的細節資料則隱

4、藏起來,其他物件即無法瞭解此物件的內部細節,若不經過允許之窗口(即此物件提供之方法)便無從更動此物件內之資料。圖3-5 物件的封裝性 繼承繼承(Inheritance)o:又稱為一般化(Generalization)與特殊化(Specialization)的關係,A繼承B乃指物件類別A是物件類別B的一種,因此物件類別A可以繼承物件類別B的屬性與方法。兩個以上類別一般化後之類別稱為超類別(Superclass)。圖3-6 類別的繼承 多型多型(Polymorphism)o所謂多型是指類別內同名的方法,因在不同的類別中定義,執行時會有不同結果的功能。圖3-7多型多型 覆蓋覆蓋(Overriding

5、)o每一類別會定義所屬之屬性與方法,當此類別被要求提供某種服務而需執行某方法時,若此類別本身定義有此方法,則可以直接執行此方法,否則此類別會沿著類別階層由下往上找,直至找到為止。圖3-8 覆蓋 動態連結動態連結(Dynamic Binding)o所謂連結是將程式中所使用到的各名稱(包括程式名稱及變數名稱),分配到適當的記憶體位置。如果是在程式執行過程中才完成連結的,則稱為動態連結(Dynamic Binding),又稱為延後連結(Late Binding)圖3-9 動態繫結圖 3.4內聚力與耦合力 o評估一個系統設計的好壞,亦即計算獨立性的標準,有內聚力(cohesion)與耦合力(coupl

6、ing)兩種。3.4.1 耦合力分類 o程式設計的領域時,表示程式單元之間牽連相依的程度,模組之間的耦合度欲寬鬆愈好。耦合力o耦合力是指兩個模組之間的獨立性高低,以物件導向程式而言是指物件與物件之間的獨立性高低。圖3-10耦合力由耦合力由低至高 3.4.2 內聚力分類 o程式的內聚力則是愈強愈好。內聚力(Cohesion)o內聚力(Cohesion)指的就是事物凝聚的狀態或程度。圖3-11 內聚力的由由低至高 3.4.3 物件的內聚力和耦合力 o物件導向語言的特性,剛好符合了高內聚力和低耦合力,這是物件導向的優點,也更促進了軟體的可重覆再使用的能力。3.5 物件導向語言的種類 4個基本的分支:

7、o1.基於Smalltalk語言的;包括Smalltalk的5個版本,以Smalltalk-80爲代表。o2.基於C語言的;包括 objective-C、C+、Java。(編輯註:及 Microsoft 近來所提出的 C#)。o3.於LISP語言的;包括 Flavors、XLISP、LOOPS、CLOS。o4.於PASCAL語言的;包括 Object Pascal(ex:Delphi)、Turbo Pascal、Eiffel、Ada 95。3.6 Java oJava是個純物件導向語言,為Sun公司所發展。圖3-12 Java的吉祥物Duke和代表Java的Java咖啡杯 JAVA的歷史 o將

8、此語言定名為GREEN團隊成員平時都愛喝的咖啡名稱JAVA。o1995年5月23日,SUN正式對外發表了JAVA語言 JAVA程式語言的特性o1.熟悉且簡易(simple and familiar)o2.物件導向(object oriented)o3.分散式(distributed)o4.直譯式(interpreted)o5.堅韌性(robust)o6.安全(secure)o7.架構中立(architecture neutral)o8.高效率(high performance)且多執行緒(multithreaded)o9.bytecides能迅速轉成機械碼。o10.而多執行緒是指各程式碼能同時進行各自的工作。o11.動態(dynamic)連結。3.7 案例研討-訂房系統 顧客訂單0.*10.*1新增訂單(邊界類別)+輸入顧客資料()+輸入訂購明細()+登錄訂單()訂購明細1.*11.*13.8 總結 o隨著經驗的積累,物件導向的發展將日漸流行,物件導向技術也將日趨成熟。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(物件导向的观念课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|