日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

UML 類圖真的很重要,十分鐘帶你掌握!

來源: 責編: 時間:2024-07-23 07:22:16 141觀看
導讀在日常開發中,我們經常會通過 UML 圖形化的方式,幫助開發人員和業務分析師進行需求分析、系統設計和文檔編制,這篇文章,我們將來重點分析 UML 類圖。什么是UML?UML,Unified Modeling Language 統一建模語言,它是可視化軟件系

在日常開發中,我們經常會通過 UML 圖形化的方式,幫助開發人員和業務分析師進行需求分析、系統設計和文檔編制,這篇文章,我們將來重點分析 UML 類圖。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

什么是UML?

UML,Unified Modeling Language 統一建模語言,它是可視化軟件系統設計的標準方法,UML 是一種經典的建模語言,包含了系統論、工程思想,以及架構學的元素。2Kr28資訊網——每日最新資訊28at.com

UML 包含多種圖表,用于表示系統的不同方面,以下是主要的 UML 圖表類型:2Kr28資訊網——每日最新資訊28at.com

  • 用例圖(Use Case Diagram):描述系統功能及其與外部實體(如用戶或其他系統)的交互。
  • 類圖(Class Diagram):描述系統的靜態結構,包括類、屬性、方法及類之間的關系。
  • 對象圖(Object Diagram):展示特定時刻系統中對象的實例及其關系,通常是類圖的實例化。
  • 順序圖(Sequence Diagram):顯示對象之間按時間順序進行的交互,強調消息的發送和接收。
  • 通信圖(Communication Diagram):又稱協作圖,展示對象之間的交互,強調對象之間的連接和消息流。
  • 狀態圖(State Diagram):描述對象在其生命周期中所經歷的狀態變化及狀態之間的轉移。
  • 活動圖(Activity Diagram):描述系統中的活動流程,強調并行和分支控制流。
  • 組件圖(Component Diagram):描述系統的物理組件及其相互關系,通常用于顯示代碼結構。
  • 部署圖(Deployment Diagram):描述系統的物理部署架構,包括硬件節點及其之間的通信關系。
  • 包圖(Package Diagram):組織類和其他模型元素,展示系統的包及其依賴關系。
  • 定時圖(Timing Diagram):描述對象狀態或條件隨時間變化的圖表,常用于實時系統建模。

什么是 UML 類圖?

UML Class Diagram(UML 類圖),它是 UML 中使用最廣泛的一種,提供了面向對象系統的靜態視圖,展示了它的類、屬性、方法以及對象之間的關系。2Kr28資訊網——每日最新資訊28at.com

在本文中,我們將探討 UML 類圖的構建塊、如何表示它們、不同類型的類關系,并為每種表示形式提供真實世界的示例。2Kr28資訊網——每日最新資訊28at.com

UML 類圖的組成

UML 類圖由以下構建基塊組成:2Kr28資訊網——每日最新資訊28at.com

  • Class(類)
  • Attributes(屬性)
  • Methods(方法)
  • Interfaces(接口)
  • Abstract Class(抽象類)
  • Enumeration(枚舉)

1.Class

類是定義對象的屬性和行為的藍圖或模板。2Kr28資訊網——每日最新資訊28at.com

如下示例,有一個 BankAccount 類以及用 UML 類圖表示方式:2Kr28資訊網——每日最新資訊28at.com

public class BankAccount {    private String accountNumber;    protected double balance;        public void deposit(double amount) {        this.balance = amount;    }    public void withdraw(double amount) {        balance += amount;    }    private void updateBalance(double amount) {        balance += amount;    }    String getAccountInfo() {        return accountNumber;    }}

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

類表示為矩形,分為三個區間:2Kr28資訊網——每日最新資訊28at.com

  • 頂部:表示類的名稱,類的唯一標識符(例如,BankAccount);
  • 中間:表示與類關聯的屬性或數據(例如,accountNumber、balance);
  • 底部:表示類對象可以執行的方法(例如,deposit()、updateBalance());

可見性標記:可見性標記指示類中屬性和方法的可訪問權限,可見性通常有以下 4種:2Kr28資訊網——每日最新資訊28at.com

  • + (Public):可以從任何類訪問屬性或方法。
  • - (Private):屬性或方法只能在同一類中訪問。
  • # (Protected):屬性或方法在同一類及其子類中是可訪問的。
  • ~(Package):屬性或方法在同一包中是可訪問的。

2.Attributes

UML 類圖中的屬性表示類的屬性或數據字段。2Kr28資訊網——每日最新資訊28at.com

屬性的定義通常為下面的形式:2Kr28資訊網——每日最新資訊28at.com

- username : String
  • -:代表屬性的訪問權限。
  • username:代表屬性的名稱。
  • String:代表屬性的數據類型。

如下示例,有一個 Person類,以及用 UML 類圖表示方式:2Kr28資訊網——每日最新資訊28at.com

public class Person {    private String name;    protected int age;    public String email;    String phoneNumber = "187xxxx1234";}

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2.Methods

UML 類圖中的方法(或操作)表示類可以執行的功能或行為。2Kr28資訊網——每日最新資訊28at.com

屬性的定義通常為下面的形式:2Kr28資訊網——每日最新資訊28at.com

+ sum(int a, int b): int
  • +,代表屬性的訪問權限;
  • sum:代表方法的名稱;
  • (int a, int b),代表參數列表,以逗號分隔的參數列表,每個參數都指定為名稱和類型;
  • int,代表方法返回的數據類型。

如下示例,展示一個 Person類中 4種訪問權限的方法:2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

3.Interfaces

接口被描述為一個類矩形,接口名稱上方帶有關鍵字 ?interface?,接口中的方法大部分上是抽象的,但是也有一些 default 方法。2Kr28資訊網——每日最新資訊28at.com

如下示例,定義了一個 Drawable 接口,以及用 UML 類圖表示的方式:2Kr28資訊網——每日最新資訊28at.com

public interface Drawable {    public void draw();    private void erase(){ }}

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

4.Abstract Class

抽象類是無法實例化的類,在 UML 中的抽象類用斜體表示類名,在類名上方用關鍵字 《abstract》表示。類中的抽象方法通常也以斜體顯示。2Kr28資訊網——每日最新資訊28at.com

如下示例,定義了一個 Shape 抽象類,以及用 UML 類圖表示的方式:2Kr28資訊網——每日最新資訊28at.com

public abstract class Shape {    public double area;    public abstract double getArea();}

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

5.Enumeration

枚舉是一種數據類型,用于定義一組命名值(例如,顏色、星期、月份等)。在 UML 類圖中,在枚舉名稱上方用關鍵字 ?enumeration? 表示,枚舉的值列在類框中。2Kr28資訊網——每日最新資訊28at.com

如下示例,定義了一個 Color 枚舉,以及用 UML 類圖表示的方式:2Kr28資訊網——每日最新資訊28at.com

public enum Color {    RED, GREEN, BLUE}

2Kr28資訊網——每日最新資訊28at.com

UML 類圖中的關系

在 UML 類圖中,類之間的關系主要有以下 6種類型:2Kr28資訊網——每日最新資訊28at.com

  • Association(關聯)
  • Aggregation(聚合)
  • Composition(組合)
  • Inheritance(繼承)
  • Implementation(實現)
  • Dependency(依賴)

這六種關系的箭頭如下所示:2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

1.Association

Association(關聯),表示兩個類之間的 uses-a 關系,其中一個類使用另一個類或與另一個類交互。2Kr28資訊網——每日最新資訊28at.com

如下示例:學生班級與課程班級相關聯,因為學生可以注冊多個課程。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2.Aggregation

Aggregation(聚合),表示 has-a關系, 一個類(整體)包含另一個類(部分),但包含的類可以獨立存在。2Kr28資訊網——每日最新資訊28at.com

如下示例:Car 類具有 Engine 類,但 Engine 類可以在沒有 Car 類的情況下存在。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

3.Composition

Composition(組成),代表了一種強烈的 has-a  關系,在這種關系中,沒有整體,部分就無法存在。如果整體被破壞,部分也被破壞。2Kr28資訊網——每日最新資訊28at.com

如下示例:House 類由 Room 類組成,但 Room 類不能沒有 House 類而存在。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

4.Inheritance

Inheritance(繼承或泛化),表示一種 is-a 關系,其中一個類(子類)繼承另一個類(超類)的屬性和方法。2Kr28資訊網——每日最新資訊28at.com

如下示例:Dog 類和 Cat 類繼承自 Animal 類,因為狗和貓都是動物。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

5.Implementation

Implementation(實現),表示類和接口之間的關系,其中類實現接口中聲明的方法。2Kr28資訊網——每日最新資訊28at.com

示例:Rectangle 類和 Circle 類實現了 Shape 接口,該接口聲明了 getArea() 方法。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

6.Dependency

Dependency(依賴),代表一種 uses 關系,其中一個類別的變化可能會影響另一個類別。2Kr28資訊網——每日最新資訊28at.com

如下示例:Customer 類使用 Order 類下訂單。2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

最后,我們再對上面幾種關系給出一個全面的示例:2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

2Kr28資訊網——每日最新資訊28at.com

總結

UML 類圖是軟件工作中很重要的一個知識點,作為程序員,我們一定要掌握,最后對 UML 類圖做個總結:2Kr28資訊網——每日最新資訊28at.com

UML 類圖由以下構建基塊組成:2Kr28資訊網——每日最新資訊28at.com

  • Class(類)
  • Attributes(屬性)
  • Methods(方法)
  • Interfaces(接口)
  • Abstract Class(抽象類)
  • Enumeration(枚舉)

類之間的關系主要有以下 6種類型:2Kr28資訊網——每日最新資訊28at.com

  • Association(關聯)
  • Aggregation(聚合)
  • Composition(組合)
  • Inheritance(繼承)
  • Implementation(實現)
  • Dependency(依賴)

本文鏈接:http://www.www897cc.com/showinfo-26-102913-0.htmlUML 類圖真的很重要,十分鐘帶你掌握!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 設計支持千萬級別的短鏈服務

下一篇: 使用回調函數訓練YOLO模型

標簽:
  • 熱門焦點
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規模如今超過580
  • Flowable工作流引擎的科普與實踐

    一.引言當我們在日常工作和業務中需要進行各種審批流程時,可能會面臨一系列技術和業務上的挑戰。手動處理這些審批流程可能會導致開發成本的增加以及業務復雜度的上升。在這
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 自動化在DevOps中的力量:簡化軟件開發和交付

    自動化在DevOps中扮演著重要角色,它提升了DevOps的效能。通過自動化工具和方法,DevOps團隊可以實現以下目標:消除手動和重復性任務。簡化流程。在整個軟件開發生命周期中實現更
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 馮提莫簽約抖音公會 前“斗魚一姐”消失在直播間

    來源:直播觀察提起“馮提莫”這個名字,很多網友或許聽過,但應該不記得她是哪位主播了。其實,作為曾經的“斗魚一姐”,馮提莫在游戲直播的年代影響力不輸于現
  • 3699元!iQOO Neo8 Pro頂配版今日首銷:1TB UFS 4.0同價位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標準版搭載高通驍龍8+,而Pro版更是首發搭載了聯發科天璣9200+旗艦
  • 2022爆款:ROG魔霸6 冰川散熱系統持續護航

    喜逢開學季,各大商家開始推出自己的新產品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現在的
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業領先的性能,令人印象深刻的電池續航,精美豐
Top 主站蜘蛛池模板: 新化县| 商丘市| 铜山县| 郑州市| 岱山县| 满城县| 永定县| 连江县| 探索| 门源| 德兴市| 定西市| 满城县| 民丰县| 会东县| 茌平县| 廉江市| 吴桥县| 孙吴县| 临西县| 龙川县| 西乌珠穆沁旗| 波密县| 扶绥县| 乐山市| 陆良县| 达拉特旗| 马关县| 迭部县| 漠河县| 萝北县| 茌平县| 巴林右旗| 美姑县| 宜宾县| 赣州市| 正阳县| 鹤庆县| 泸溪县| 赤峰市| 宜都市|