從少女前線到古人類-先行者戰爭 Pt2 原基
一、什麼是 UML 類圖
UML 類圖是系統分析和設計階段的重要產物,是系統編碼和測試的重要模型,它用來描述系統中類的內部結構、類與類之間的關係,可以簡化人們對系統的理解
二、UML 類圖單個類的表示方式
單個類的類圖使用包含類名、屬性(field)和方法(method)且帶有分割線的矩形來表示,例如下面的這個類圖
屬性的完整表示方式: 可見性 名稱 :型別 [ = 屬性的預設值]
方法的完整表示方式: 可見性 名稱(引數列表) : 返回值型別
屬性/方法的可見性有四種表現方式
- : private
什麼都不寫: default
# : protected
+ : public
所以上面的類圖可以使用如下程式碼來描述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public class User {
private Integer id;
String name;
protected Integer age;
public Double height;
private void eat(){
System.out.println( "eat a lot of thing makes me stronger" );
}
void drink(){
System.out.println( "I like drink a cup of tea" );
}
protected String play(){
return "play makes me happy" ;
}
public Integer think(){
System.out.println( "think make us clever" );
return 10086 ;
}
}
|
三、UML 類圖類與類關係的表示方式
1、關聯關係
關聯用來表示兩個或多個類的物件之間的結構關係,它在程式碼中表現為一個類以屬性的形式包含對另一個類的一個或多個物件
1.1、單向關聯
一個類的屬性是另外一個類的物件,表現為 單向箭頭指向被使用的類
1.2、雙向關聯
兩個類的屬性都持有對方類的物件,表現為 雙向箭頭或者是直線
1.3、自關聯
一個類的屬性就是這個類的物件
1.4、聚合關係
聚合關係也屬於關聯關係,是一種強關聯關係,是整體和部分之間的關係
表現為: 空心菱形指向整體
聚合關係也是通過成員物件來實現的,其中成員物件是整體物件的一部分,但是成員物件可以脫離整體物件而獨立存在,例如學校與老師的關係,學校裡面有很多老師,如果學校停辦了,老師並不會受到影響,依然繼續存在
1.5、組合關係
組合關係類似於聚合關係,也是整體和部分之間的關係,它是一種更強烈的聚合關係,整體物件可以控制部分物件的生命週期,一旦整體物件不存在了,那麼部分物件也將不存在,例如人的身體和手臂的關係,如果人的身體不存在了,那麼手臂也不會存在
表現為: 實心菱形指向整體
1.6、依賴關係
依賴關係是一種使用關係,它是物件之間 耦合度最小 的一種關聯方式,它是一種臨時性的關聯,在程式碼中某個類通過區域性變數、方法的引數、或者靜態方法的呼叫來使用另外一個類的某些方法來完成一些功能
2、繼承關係
繼承關係是物件之間 耦合度最大 的一種關係,表示為一般和特殊的關係,是父類與子類的關係
表現為: 帶空心三角箭頭使用實線由子類指向父類
3、實現關係
實現關係是介面和實現類之間的關係,在這種關係中,類實現了介面,類中的操作實現了介面中所宣告的所有抽象操作
表現為: 帶空心三角箭頭使用虛線由子類指向父類
一、什麼是 UML 類圖
UML 類圖是系統分析和設計階段的重要產物,是系統編碼和測試的重要模型,它用來描述系統中類的內部結構、類與類之間的關係,可以簡化人們對系統的理解
二、UML 類圖單個類的表示方式
單個類的類圖使用包含類名、屬性(field)和方法(method)且帶有分割線的矩形來表示,例如下面的這個類圖
屬性的完整表示方式: 可見性 名稱 :型別 [ = 屬性的預設值]
方法的完整表示方式: 可見性 名稱(引數列表) : 返回值型別
屬性/方法的可見性有四種表現方式
- : private
什麼都不寫: default
# : protected
+ : public
所以上面的類圖可以使用如下程式碼來描述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public class User {
private Integer id;
String name;
protected Integer age;
public Double height;
private void eat(){
System.out.println( "eat a lot of thing makes me stronger" );
}
void drink(){
System.out.println( "I like drink a cup of tea" );
}
protected String play(){
return "play makes me happy" ;
}
public Integer think(){
System.out.println( "think make us clever" );
return 10086 ;
}
}
|
三、UML 類圖類與類關係的表示方式
1、關聯關係
關聯用來表示兩個或多個類的物件之間的結構關係,它在程式碼中表現為一個類以屬性的形式包含對另一個類的一個或多個物件
1.1、單向關聯
一個類的屬性是另外一個類的物件,表現為 單向箭頭指向被使用的類
1.2、雙向關聯
兩個類的屬性都持有對方類的物件,表現為 雙向箭頭或者是直線
1.3、自關聯
一個類的屬性就是這個類的物件
1.4、聚合關係
聚合關係也屬於關聯關係,是一種強關聯關係,是整體和部分之間的關係
表現為: 空心菱形指向整體
聚合關係也是通過成員物件來實現的,其中成員物件是整體物件的一部分,但是成員物件可以脫離整體物件而獨立存在,例如學校與老師的關係,學校裡面有很多老師,如果學校停辦了,老師並不會受到影響,依然繼續存在
1.5、組合關係
組合關係類似於聚合關係,也是整體和部分之間的關係,它是一種更強烈的聚合關係,整體物件可以控制部分物件的生命週期,一旦整體物件不存在了,那麼部分物件也將不存在,例如人的身體和手臂的關係,如果人的身體不存在了,那麼手臂也不會存在
表現為: 實心菱形指向整體
1.6、依賴關係
依賴關係是一種使用關係,它是物件之間 耦合度最小 的一種關聯方式,它是一種臨時性的關聯,在程式碼中某個類通過區域性變數、方法的引數、或者靜態方法的呼叫來使用另外一個類的某些方法來完成一些功能
2、繼承關係
繼承關係是物件之間 耦合度最大 的一種關係,表示為一般和特殊的關係,是父類與子類的關係
表現為: 帶空心三角箭頭使用實線由子類指向父類
3、實現關係
實現關係是介面和實現類之間的關係,在這種關係中,類實現了介面,類中的操作實現了介面中所宣告的所有抽象操作
表現為: 帶空心三角箭頭使用虛線由子類指向父類