UML系列02之 UML類圖(一)


 

概要

本章介紹類圖中類的UML表示方法。內容包括:
類圖介紹
實體類的UML表示
抽象類和接口的UML表示

轉載請注明出處:http://www.cnblogs.com/skywang12345/p/3523185.html

 

類圖介紹

類圖,是UML(統一建模語言)中用於描述"類"以及"類與類"之間的示意圖。它形象的描述出了系統的結構,幫助人們理解系統。
類圖是在"所有的UML圖"中,實用頻率非常之高;掌握它對於我們軟件設計,以及交流都很有幫助。

對於類圖而言,它的基本單位是類。類主要由三部分組成:類名屬性操作(函數)。UML類的表示大致如下:

下面,分別介紹"實體類", "抽象類", "接口"的UML表示方法。

注:本章的圖形都是通過"UML系列01之 UML和繪圖工具Visio介紹"中介紹的Visio工具進行繪制的!

 

實體類的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();
}

 


更多內容

01. UML系列01之 UML和繪圖工具Visio介紹

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM