我們先來做一道題目,寫出下列程序的運行結果:
上段程序的類圖:
輸出結果如下:
Parent.
Delegate.
Child.
由此可知把繼承的箭頭方向規定為指向父類代表的是依賴的方向。所謂依賴(Dependency)是指兩個元素之間的一種關系,其中一個元素變化導致另外一個元素變化。UML中采用從子類指向父類的空心箭頭表示繼承,暗示父類的變化可能導致子類的變化。
回到題目,根據”被依賴的先構造,依賴於人的后構造”的原來,類Child繼承自類Parent意味着前者依賴后者,而Child對Delegate的聚集關系也意味着類似的依賴關系。
本文引自溫昱的《軟件架構設計》第24章 如此輕松:立足圖論學UML