我們執著於面《向物件程式設計》,而多數情況我們都在使用《面向型別程式設計》,今天簡單快速的回顧一下物件的之間的關係。
型別之間的依賴,這裡進一步劃分為兩類:
顯式依賴:在引數中顯式的表達了依賴。
隱式依賴:沒有在引數中顯式的表達依賴,直接在方法中建立了某個型別的例項,然後使用。
型別之間的關聯從某種程度上來講也屬於一種依賴,在這個維度講,也可以將其劃分為兩類:
顯式依賴:使用構造方法或方法注入關聯。
隱式依賴:沒有使用構造方法或方法注入關聯,直接在構造方法中建立了某個型別的例項,然後賦值給關聯。
集合關聯屬於整體和個體的關係,復合關聯屬於整體和部分的關係,兩者的區別在於語義上,技術上表現非常一致,從ddd上來講,復合關聯的雙方屬於同乙個聚合,集合關聯的雙方屬於兩個聚合。
實現和繼承會影響執行時訊息的傳送。
物件之間只有依賴和關聯。
行為需要資料,資料表現為依賴和關聯。
需求:a.m1先執行,然後執行b.m2。
注意:這裡只給出了常見的實現方式,還會有其他形式,如:採用event的方式。
上邊的草圖是開會期間畫的。
物件之間的關係
下面以物件間的耦合度和關係的強弱性的由低到高進行描述 依賴 dependency 物件之間最弱的一種關聯方式,是臨時性的關聯。中一般指由區域性變數 函式引數 返回值建立的對於其他物件的呼叫關係。圖 依賴關係 1 就是乙個物件呼叫被依賴物件中的某些方法而得以完成這個物件的一些職責 2 這是一種比較鬆散...
物件之間的關係
依賴 dependency 物件之間最弱的一種關聯方式,是臨時性的關聯。中一般指由區域性變數 函式引數 返回值建立的對於其他物件的呼叫關係 關聯 association 物件之間一種引用關係,比如客戶類與訂單類之間的關係。這種關係通常使用類的屬性表達。指乙個類指到另乙個類中的屬性.而且是長期的 不帶...
物件之間的關係
has a 包含 use a 使用 is a 繼承 1 has a 包含關係,就是類b擁有類a的成員變數b,has a,或者說,b關聯 a 因為,只要例項化b的物件,必然先例項化a的物件,因為a作為b的乙個成員變數 2 use a 乙個類部分地使用另乙個類,通過類之間成員函式的相互聯絡,定義友員或物...