設計模式 — UML常見符號
阿新 • • 發佈:2019-01-31
(圖一)
1. 繼承(extends)
- 介面與介面之間的繼承關係;
類與類之間的繼承關係;
箭頭指向方向:子類指向父類;
2. 實現(implement)
類對介面的實現關係;
箭頭指向方向:實現類指向介面;
3. 關聯關係(Association)
- 雙向關聯:可以有兩個箭頭或者沒有箭頭(不推薦);
單向關聯:有一個箭頭,且箭頭方向指向被關聯的物件;
關聯關係是使例項變數實現的;
每一個關聯的端點,還可以有一個基數,表示這一端的類可以有幾個例項;基數 含義 0..1 零個或者一個例項 0..*或者* 對例項的數目沒有限制(可以是0) 1 只有一個例項 1..* 至少有一個例項 注:聚合關係和合成關係都屬於關聯關係;
4. 聚合關係(Aggregation)
聚合關係屬於強關聯關係;
關聯關係和聚合關係的不同點:
- 關聯關係所涉及的兩個類處於同一個層次上;
- 聚合關係所涉及的兩個類處於不平等的層次上(一個代表整體,一個代表部分);
5. 合成關係(Composition)
- 合成關係屬於關聯關係,比聚合關係更強;
6. 依賴關係(Dependency)
- 依賴是單向的,通常以方法引數的形式、區域性變數的形式,及對靜態方法呼叫的形式出現;
7. 類圖
7.1 常見的類圖分為以下幾個層級:
類名
- 類名層不可省略,其他幾層可以不存在;
- 類名是正體字,類是具體的;
- 類名是斜體字,類是抽象的,或者是介面;
屬性
- +代表public;
- #代表protected;
- -代表private ;
方法
- +代表public;
- #代表protected;
- -代表private ;
- 如果方法下面有一道下劃線,則表明該方法是靜態方法;
- 方法後面帶的是返回值型別;
內部類
7.2 參照上面的類圖寫出對應的類
public class Person {
private String name;
protected int age;
public String sex;
// 構造方法
public Person() {
}
// 帶引數的方法
private void work(int num) {
}
// 不帶引數的方法
protected void eat() {
}
// 帶返回值的方法
public String play() {
return null;
}
// 內部類
class Builder {
}
}
8. 參考:
《Java與模式》