以下是UML使用的表示圖形。
類別圖 |
類別圖分為3層:
第一層為類別名稱,如果類別為抽象,則名稱以斜體表示。
第二層為類別的屬性,int為屬性的型別,attribute前面的符號,"-"表示該attribute的存取屬性為private,另外還有"+"表示public,"#"表示protected 。
第三層為類別的方法或功能,void表示該方法或功能不回傳值。
範例如下:
類別圖範例 |
介面圖分為三層,三層的表示跟類別圖相同。
Interface Iblossoms { bool IsAlive; void Blossoms(); }
介面圖 |
花抽象類別繼承植物抽象類別,繼承關係以空心三角形+實線表示。
abstract class Flower:Plant { }
繼承表示圖 |
文心蘭類別,實現花開介面,實現介面以空心三角形+虛線來表示。
class Oncidium:Iblossoms { IsAlive = true; void blossoms() { } }
實現介面表示圖 |
當一個類別知道另一個類別的時候,用關聯關係。
class Oncidium { private Climate climate; }
關聯關係表示圖 |
聚合關係是一種弱的擁有關係,說明A物件可以包含B物件,但B物件不是A物件的一部分。
class ClusterofFlowers { private Oncidiums[] oncidiums; }
聚合關係表示圖 |
合成關係是一種強的擁有關係,說明了部分和整體的關係,部分和整體的生命週期一樣。
class Flower { private Sepal sepal; public Flower() { Sepal = new Sepal(); } }
合成(組合)關係表示圖 |
依賴關係以此例表示植物需要水和陽光,也就是植物需要依賴水和陽光。
abstract class Plant { public NatureElement(SunLight sunlight, Water water) { } }
依賴關係表示圖 |
參考書籍: 大話設計
沒有留言:
張貼留言