物件導向中多個物件之間的關係

2022-02-14 13:23:10 字數 820 閱讀 7763

當談到物件導向的設計時,我們經常說物件導向是符合人們對現實世界的思維模式,即人們採用針對非程式設計領域存在的複雜問題的解決方式,來解決軟體設計過程中各種錯綜複雜的關係。利用物件導向設計,特別是採用各種設計模式來解決問題時,會設計多個類,然後建立多個物件,這些物件,有些主要是資料模型,有些則是行為描述佔主體。乙個設計良好的類,應該是兼顧資訊和行為,並且是高內聚。而不同的類之間,應該盡量做到松耦合。

由於我們面對的系統或者需要解決的問題經常是複雜的、高度抽象的,我們建立的多個物件往往是有聯絡的,通常物件之間的關係可以分為以下幾類:

具有層次關係或者可以用樹狀結構來描述物件關係時,可以考慮使用繼承,繼承的好處是子類可以容易的使用父類的屬性和方法,缺點是子類和父類繫結在一起,不利於後期維護。

在uml中,繼承通常是使用空心三角+實線來表示。

如果a和b有關聯,那麼說明a內部可能會使用到b,但是a和b本身還是獨立的關係,通常b會作為a的成員變數存在。

在uml中,關聯通常是使用實線箭頭來表示,箭頭方向是a指向b。

如果a和b是聚合的,那麼說明a和b是「弱擁有」的關係,它們不是獨立的關係,但是a和b的生命週期可以使不同的,通常b也是會作為a的成員變數存在。

在uml中,聚合通常是使用空心菱形+實線箭頭來表示。

如果a和b是組合的,那麼說明a和b是「強擁有」的關係,它們不是獨立的關係,並且生命週期也是一樣的,通常b作為a的成員變數存在,並且在a的建構函式中進行初始化。

在uml中,組合通常是使用實心菱形+實線箭頭表示。

如果a和b是依賴的關係,說明b一般不單獨使用,它需要在a中才會發揮作用,通常b是作為a中的方法引數存在的。

在uml中依賴通常使用虛線箭頭表示。

物件導向程式設計中如何描述物件之間的關係?

談到物件導向程式設計中如何選擇物件之間的關係,實在是一件令人頭疼的事。物件之間的關係大致有以下幾種 1.繼承關係 舉個例子 person是乙個描述所有人的類,student可以繼承於person,所有person具有的公有方法student都有,即任何使用person物件的地方,都可以毫無顧忌的直接...

物件導向 淺述物件之間的關係

物件之間的關係 依賴 需要某種服務 關聯 物件間有某種對應關係 聚合,組合,繼承.依賴 物件之間最弱的一種關聯方式,是臨時性的關聯。中一般指由區域性變數 函式引數 返回值建立的對於其他物件的呼叫關係。依賴一般情況下是以下幾種情況之一 a classa中某個方法的引數型別是classb 這種情況成為耦...

物件導向 淺述物件之間的關係

物件之間的關係 依賴 需要某種服務 關聯 物件間有某種對應關係 聚合,組合,繼承.依賴 物件之間最弱的一種關聯方式,是臨時性的關聯。中一般指由區域性變數 函式引數 返回值建立的對於其他物件的呼叫關係。依賴一般情況下是以下幾種情況之一 a classa中某個方法的引數型別是classb 這種情況成為耦...