原文出處:http://www.cnblogs.com/skywang12345/p/3523185.html
概要
本章介紹類圖中類的UML表示方法。内容包括:
類圖介紹
實體類的UML表示
抽象類和接口的UML表示
類圖介紹
類圖,是UML(統一模組化語言)中用于描述"類"以及"類與類"之間的示意圖。它形象的描述出了系統的結構,幫助人們了解系統。
類圖是在"所有的UML圖"中,實用頻率非常之高;掌握它對于我們軟體設計,以及交流都很有幫助。
對于類圖而言,它的基本機關是類。類主要由三部分組成:類名、屬性、操作(函數)。UML類的表示大緻如下:
下面,分别介紹"實體類", "抽象類", "接口"的UML表示方法。
實體類的UML表示
實體類的UML示例
對應的java代碼
public class Student {
private int id;
protected int age;
public String name;
private void setId(int id);
private int getId() ;
protected void setAge(int age);
protected int getAge() ;
private void setName(String name);
private String getName() ;
}
1. 類名
類名是類的名稱。
2. 屬性
UML類圖中,屬性的基本格式: 可見性 名稱: 類型 [=預設值]
(01) 可見性 -- 表示該屬性對于類外的元素而言是否可見。
主要包括公有(public)、私有(private)和受保護(protected)三種,在類圖中分别用符号+、-和#表示。
┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ 标志 ┃ 可見性 ┃
┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
┃ + │ Public ┃
┠──────┼──────────────────┨
┃ # │ Protected ┃
┠──────┼──────────────────┨
┃ - │ Private ┃
┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
(02) 名稱 -- 表示屬性名。
(03) 類型 -- 表示屬性的資料類型。可以是基本資料類型,也可以是使用者自定義類型。
(04) 預設值 -- 屬性的初始值。它是一個可選項。
3. 操作
UML類圖中,屬性的基本格式: 可見性 名稱(參數類表) [:傳回類型]
(01) 可見性 -- 表示該屬性對于類外的元素而言是否可見。它的表示方法與"屬性的可見性"相同。
┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ 标志 ┃ 可見性 ┃
┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
┃ + │ Public ┃
┠──────┼──────────────────┨
┃ # │ Protected ┃
┠──────┼──────────────────┨
┃ - │ Private ┃
┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
(02) 名稱 -- 表示方法名。
(03) 參數清單 -- 表示方法的參數。參數個數是任意的,多個參數之間用逗号","隔開。
(04) 傳回類型 -- 表示方法的傳回值類型。它是一個可選項;可以是具體的傳回類型,可以是void,也可以無傳回類型(構造方法)。
抽象類和接口的UML表示
1. 抽象類的UML表示
抽象類和實體類的UML表示法類似。差別是: "抽象類的類名是斜體",而"實體類的類名不是斜體"!
抽象類的UML示例
将上面"實體類示例"中的實體類Student改為抽象類AbstractStudent,對應的UML圖如下:
2. 接口的UML表示
在UML中,通過在"類名"位置添加“interface”關鍵字來表示接口。示意圖如下:
對應的代碼:
public interface Runnable {
public void run();
}