UML (1) Class Diagram 與常見的箭頭們 - 程式作業簿
文章推薦指數: 80 %
從一張總類別圖來分別介紹,就以Blizzard 公司的Heroes of the Storm 來介紹 ... 其中名稱如果是斜體表示該類別為抽象類別;屬性跟行為的修飾子符號請 ...
Skiptomaincontent
UML有人說是工程師溝通的一種語言,或者是有點難記清楚的語言…。
不管如何,在開發的過程中與學習DesignPattern的過程中是一定會出現的語言!當然一種語言不可能像我下面介紹的這麼簡單,我也僅是筆記我在學習DesignPattern中會用到的部分。
從一張總類別圖來分別介紹,就以Blizzard公司的HeroesoftheStorm來介紹說明囉!
ClassDiagram(類別圖)
首先每個舉行都是一個類別(class,interface,abstractclass)。
第一列填寫的是名稱(Name);第二列填寫的是屬性(Attributes);第三列填寫的則是行為(Methods)。
其中名稱如果是斜體表示該類別為抽象類別;屬性跟行為的修飾子符號請參考涅法雷姆類別的屬性;<
最後,粉紅色的長方形是註解說明用!以下便開始講寫其他線條與箭頭們了:
繼承關係(Extension)
繼承關係是由三角空心箭頭配上實線來代表。
像是涅法雷姆類別繼承了英雄類別。
繼承關係1
2
3
4
5
6
publicclass涅法雷姆extends英雄{
publicvoid涅法雷姆之勇(){}
publicvoid放普通技能(){}
publicvoid放大絕(){}
}
實現關係(Relization)
實現關係是由三角空心箭頭配上虛線來表示。
像是卡拉辛類別實現了武僧介面。
實現關係1
2
3
4
5
6
7
publicclass卡拉辛extends涅法雷姆implements武僧{
publicvoid涅法雷姆之勇(){}
publicvoid放普通技能(){}
publicvoid放大絕(){}
publicvoid會打拳(){}
}
關聯關係(Association)
關聯關係是由一般箭頭配上實線來表示。
像是天賦類別是關聯到等級類別,代表著天賦必須知道等級類別的一些資訊。
關聯關係1
2
3
publicclass天賦{
private等級level;
}
聚合關係(Aggregation)
聚合關係是由一個空心菱形配上實線箭頭來表示。
像是暗黑破壞神系列是由涅法雷姆們多的類別所聚合起來的(弱的擁有關係)。
暗黑破壞神系列可以包含涅法雷姆的類別,但涅法雷姆不是暗黑破壞神系列的一部分(指的應該是不一定要有)。
聚合關係1
2
3
publicclass暗黑破壞神系列{
private涅法雷姆[]nephalems;
}
合成關係(Composition)
合成關係是由一個實心菱形配上實線箭頭來表示。
像是英雄是具備天賦(強的擁有關係)。
它們之間是部分與整體的關係,具有相同的生命週期。
合成關係1
2
3
4
5
6
7
publicclass英雄{
private天賦talent;
public英雄(){
talent=new天賦();
}
}
NOTE:原本英雄是抽象類別,在這般先暫時換成一般類別來呈現合成關係在程式碼中的長相。
依賴關係(Dependency)
依賴關係是由實現配上一般箭頭來表示。
像是天賦依賴等級。
達到特定等級的時候才有相對應的天賦可以點。
依賴關係1
2
3
4
5
publicclass天賦{
publicvoid點天賦(等級level){
}
}
參考資料
大話設計模式
Comments
RecentPosts
IELTSNote-SpeakingProcedure
IELTSNote-Speaking-theDiscussion(17-19)
IELTSNote-Speaking-theIndividualLongTurn(12-16)
IELTSNote-ReadingProcedure
IELTSNote-Speaking-theInterviewTips(8-11)
Categories
3
octopress
1
charts
1
javascript
1
json
11
centos
9
linux
1
vmtools
2
gitlab
4
maven
9
jndi
21
java
9
ldap
6
designpattern
1
restful
1
jersey2
3
eclipse
2
netbeans
1
smtp
1
lambda
1
uml
1
cheatsheet
1
nginx
1
network
2
intellij
1
plugin
29
english
22
grammar
1
tomcat
1
ssl
1
profiler
1
visualvm
1
python
7
ielts
延伸文章資訊
- 1UML簡介_Class/Object Diagram - 林偉川
UML簡介_Class/Object Diagram. 資訊科技系. 林偉川. 2. 類別圖 ... 類別圖主要是用來做物件的資料結構塑模用的。 它有點類似傳統的資料庫的實體 ... 符號-類別...
- 2UML (1) Class Diagram 與常見的箭頭們 - 程式作業簿
從一張總類別圖來分別介紹,就以Blizzard 公司的Heroes of the Storm 來介紹 ... 其中名稱如果是斜體表示該類別為抽象類別;屬性跟行為的修飾子符號請 ...
- 3類別圖- 維基百科,自由的百科全書 - Wikipedia
UML提供機制,以代表類的成員,如屬性和方法,對他們的其他資訊。 指定一個類成員(即任何屬性或方法)的可見性有下列符號,必須擺在各成員的名字之前:
- 4Day 4 軟體設計及架構---Class Diagram - iT 邦幫忙
前兩天都是介紹行為圖中的圖形,今天要介紹的是結構圖中的類別圖(Class ... 語言模型,如: C++,所以類別圖很適合當做在系統分析階段對程式人員解說之文件,也是UML 中 ...
- 5簡單理解UML 類別圖 - Medium
Class Diagram. 在物件導向的實作中,UML 類別圖可幫助釐清各類別的描述、擁有的屬性、可使用的方法與各物件間的相互關聯,能清楚表示實作的Design ...