這篇文章主要為大家展示了“Java中什么是UML的類圖”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java中什么是UML的類圖”這篇文章吧。
統一建模語言(Unified Modeling Language,UML)是一種為面向對象系統的產品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規約語言。UML是面向對象設計的建模工具,獨立于任何具體程序設計語言。
UML 本身是一套符號的規定,就像數學符號和化學符號一樣,這些符號用于描述軟件模型中的各個元素和他 們之間的關系,比如類、接口、實現、泛化、依賴、組合、聚合等。
使用UML圖的好處:
UML可以幫助開發團隊以一種可視化的方式理解系統的功能需求。
UML統一了各種方法對不同類型的系統、不同開發階段以及不同內部概念的不同觀點,從而有效的消除了各種建模語言之間不必要的差異。
UML建模能力比其它面向對象建模方法更強。它不僅適合于一般系統的開發,而且對并行、分布式系統的建模尤為適宜。
使用UML使硬件組件和軟件組件之間將會有更大的透明度。便攜性和綜合效率將會增加。
UML圖的模型分類:
功能模型:從用戶的角度展示系統的功能,包括用例圖。
對象模型:采用對象,屬性,操作,關聯等概念展示系統的結構和基礎,包括類圖、對象圖。
動態模型:展現系統的內部行為,包括交互圖(時序圖與協作圖)、狀態圖、活動圖。
UML類圖是描述系統中的類,以及各個類之間的關系的靜態視圖。能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。類圖是一種模型類型,確切地說,是一種靜態模型類型。類圖表示類、接口和它們之間的協作關系。
類圖中的關系:
依賴關系(Dependency
):如果在一個類中使用到了其他類(包括屬性,方法的參數、返回結果以及方法中),那么這兩個類之間就存在依賴關系。使用虛線箭頭表示。例如人、電話、使用電腦工作等。
代碼表示:
//人 public class Person { private Phone phone; //使用電腦工作 public void work(Computer computer){ ... } } //電話 class Phone{ } //電腦 class Computer{ }
UML圖表示:
繼承關系(Generalization
):也叫泛化關系,就是我們代碼中說的繼承。使用空心箭頭實線表示。例如BaseService與Service。
代碼表示:
public class ServiceImpl extends BaseService{ } interface BaseService{ }
UML圖表示:
實現關系(Implementation
):同樣是我們代碼中說的那個接口實現。使用空心箭頭虛線表示。例如Service層。
代碼表示:
public class ServiceImpl implements IService{ } interface IService{ }
UML圖表示:
關聯關系(Generalization
):關聯關系是依賴關系中的一種。常指1對多,多對多等的屬性關聯關系。使用實線箭頭表示,單向關聯需要有箭頭指向,雙向關聯可以有箭頭也可以沒有。例如:老師、學生、課程的關系。
代碼表示:
//學生 public class Student { List<Teacher> teachers; List<Course> courses; } //老師 class Teacher{ List<Student> students; } //課程 class Course{ }
UML圖表示:
聚合關系(Aggregation
):表示整體和部分的關系,聚合關系的整體和部分是可以拆分開的。使用空心菱形實線表示。例如電腦、鍵盤、屏幕的關系。
代碼表示:
//電腦 public class Computer { private Screen screen; private Keyboard keyboard; } //屏幕 class Screen { } //鍵盤 class Keyboard { }
UML圖表示:
組合關系(Composition
):表示整體和部分的關系,但是組合關系整體和部分是不可拆分的。使用實心菱形實線表示。例如公司和部門的關系,部門脫離了公司不能單獨存在。
代碼表示:
//公司 public class Company { List<Department> departments; } //部門 class Department { }
UML圖表示:
以上是“Java中什么是UML的類圖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。