以下是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)
{
}
}
![]() |
| 依賴關係表示圖 |
參考書籍: 大話設計










沒有留言:
張貼留言