面向對象設計的工作步驟一

面向對象設計

以面向對象分析階段產生的分析模型作為輸入,通過對分析模型中所有對象和類的分析,明確對象的屬性和操作,指定屬性的類型特徵,補全對象之間的關係,並在不斷細化的基礎上,把分析模型轉化成詳細描述如何解決問題、如何實現軟件系統的對象模型。

面向對象設計的工作步驟

細化和重組類;

細化和實現類間關係,明確其可見性;

增加遺漏的屬性,指定屬性的類型和可見性;

分配職責,定義執行每個職責的方法;

對消息驅動的系統,明確消息傳遞方式;

利用設計模式進行局部設計;

畫出詳細的順序圖或協作圖。

面向對象設計的工作步驟——細化和重組類

以面向對象分析過程中得到的分析類為基礎,以與對象繼承和聚合力度相關的原則為依據,正確地確定繼承樹的層次和聚合關係的細化程度。

對於架構分析中確定的各個子系統,也必須進一步細化其內部設計。

子系統封裝了一組相對獨立但比較複雜、無法用一個類來概括的分析類。

面向對象設計的工作步驟一

把分析類轉化成具體的設計類,賦予合適的名字;再分析繼承層次和聚合關係,已達到設計類是否能保證代碼複用目標的實現。

面向對象設計的工作步驟一

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係可見性

一個對象能夠“看見”並且引用另一個對象的能力。

對象A到對象B的可見性:

1.屬性可見性:對象A的一個屬性指向或引用了對象B,這是一種相對持久的關係,只要對象A存在,它就能引用對象B。

2.參數可見性:對象B是對象A中一個方法的參數,對象A只有在該方法內才能發送消息給對象B。

3.局部聲明可見性:對象B是對象A中一個方法內部定義的局部變量,對象A只有在該方法中才會發送消息給對象B。

4.全局可見性:對象B是全局對象,對象A任何時刻都可以發送消息給對象B。

全局可見性不會在類圖中表現出來,參數可見性和局部聲明可見性是一種比較短暫的關係,只在某個函數中存在,也不需要在類圖中出現(特別必要時用依賴關係來表述)。

在類圖出現的基本上是具備屬性可見性的關係,即通過類屬性來實現的類間關係。

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係分類

根據相關對象的數量來確定類間關係的類型:一對一、一對多、多對多、歸納關係。

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係分類——依賴關係

依賴是一種比較弱的關係,以參數可見性或局部聲明可見性的方式使用。

面向對象設計的工作步驟一

代碼:

面向對象設計的工作步驟一

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係分類——關聯關係

屬性可見性。

面向對象設計的工作步驟一

代碼:

面向對象設計的工作步驟一

面向對象設計的工作步驟一

java代碼:

面向對象設計的工作步驟一

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係分類——聚合關係

聚合關係是一種特殊的關聯關係,表達的是整體和部分之間的關聯。

面向對象設計的工作步驟一

Class7和Class8是聚合關係,Class9和Class10是組合關係。

Class9對象除了包含Class10的對象之外,還需要負責管理Class10對象的創建、維護、釋放等工作。

由一個類包含另一個類的對象實例,並全面管理後者的生命週期的聚合關係:組合關係。

面向對象設計的工作步驟一

面向對象設計的工作步驟一

面向對象設計的工作步驟——細化和實現類間關係,明確其可見性——關係分類——雙向關係

面向對象設計的工作步驟一


分享到:


相關文章: