最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章帶你入門Java?UML的類圖

 更新時間:2022年02月22日 17:03:42   作者:JackLi1123(互關(guān)秒回)  
這篇文章主要為大家詳細介紹了Java?UML的類圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一、什么是UML

統(tǒng)一建模語言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規(guī)約語言。UML是面向?qū)ο笤O(shè)計的建模工具,獨立于任何具體程序設(shè)計語言。
UML 本身是一套符號的規(guī)定,就像數(shù)學符號和化學符號一樣,這些符號用于描述軟件模型中的各個元素和他 們之間的關(guān)系,比如類、接口、實現(xiàn)、泛化、依賴、組合、聚合等。

使用UML圖的好處:

  • UML可以幫助開發(fā)團隊以一種可視化的方式理解系統(tǒng)的功能需求。
  • UML統(tǒng)一了各種方法對不同類型的系統(tǒng)、不同開發(fā)階段以及不同內(nèi)部概念的不同觀點,從而有效的消除了各種建模語言之間不必要的差異。
  • UML建模能力比其它面向?qū)ο蠼7椒ǜ鼜?。它不僅適合于一般系統(tǒng)的開發(fā),而且對并行、分布式系統(tǒng)的建模尤為適宜。
  • 使用UML使硬件組件和軟件組件之間將會有更大的透明度。便攜性和綜合效率將會增加。

UML圖的模型分類:

  • 功能模型:從用戶的角度展示系統(tǒng)的功能,包括用例圖。
  • 對象模型:采用對象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類圖、對象圖。
  • 動態(tài)模型:展現(xiàn)系統(tǒng)的內(nèi)部行為,包括交互圖(時序圖與協(xié)作圖)、狀態(tài)圖、活動圖。

二、UML類圖

UML類圖是描述系統(tǒng)中的類,以及各個類之間的關(guān)系的靜態(tài)視圖。能夠讓我們在正確編寫代碼以前對系統(tǒng)有一個全面的認識。類圖是一種模型類型,確切地說,是一種靜態(tài)模型類型。類圖表示類、接口和它們之間的協(xié)作關(guān)系。

類圖中的關(guān)系:

依賴關(guān)系(Dependency:如果在一個類中使用到了其他類(包括屬性,方法的參數(shù)、返回結(jié)果以及方法中),那么這兩個類之間就存在依賴關(guān)系。使用虛線箭頭表示。例如人、電話、使用電腦工作等。

代碼表示:

//人
public class Person {
    private Phone phone;
    //使用電腦工作
    public void work(Computer computer){
        ...
    }
}
//電話
class Phone{
}
//電腦
class Computer{
}

UML圖表示:

繼承關(guān)系(Generalization:也叫泛化關(guān)系,就是我們代碼中說的繼承。使用空心箭頭實線表示。例如BaseService與Service。

代碼表示:

public class ServiceImpl extends  BaseService{
}
interface BaseService{
}

UML圖表示:

實現(xiàn)關(guān)系(Implementation:同樣是我們代碼中說的那個接口實現(xiàn)。使用空心箭頭虛線表示。例如Service層。

代碼表示:

public class ServiceImpl implements  IService{
}
interface IService{
}

UML圖表示:

關(guān)聯(lián)關(guān)系(Generalization:關(guān)聯(lián)關(guān)系是依賴關(guān)系中的一種。常指1對多,多對多等的屬性關(guān)聯(lián)關(guān)系。使用實線箭頭表示,單向關(guān)聯(lián)需要有箭頭指向,雙向關(guān)聯(lián)可以有箭頭也可以沒有。例如:老師、學生、課程的關(guān)系。

代碼表示:

//學生
public class Student {
    List<Teacher> teachers;
    List<Course> courses;
}
//老師
class Teacher{
    List<Student> students;
}
//課程
class Course{
}

UML圖表示:

聚合關(guān)系(Aggregation:表示整體和部分的關(guān)系,聚合關(guān)系的整體和部分是可以拆分開的。使用空心菱形實線表示。例如電腦、鍵盤、屏幕的關(guān)系。

代碼表示:

//電腦
public class Computer {
    private Screen screen;
    private Keyboard keyboard;
}
//屏幕
class Screen {
}
//鍵盤
class Keyboard {
}

UML圖表示:

組合關(guān)系(Composition:表示整體和部分的關(guān)系,但是組合關(guān)系整體和部分是不可拆分的。使用實心菱形實線表示。例如公司和部門的關(guān)系,部門脫離了公司不能單獨存在。

代碼表示:

//公司
public class Company {
    List<Department> departments;
}
//部門
class Department {
}

UML圖表示:

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!     

相關(guān)文章

  • IDEA如何修改配置文件的存放位置

    IDEA如何修改配置文件的存放位置

    這篇文章主要介紹了IDEA如何修改配置文件的存放位置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 零基礎(chǔ)如何系統(tǒng)的學習Java

    零基礎(chǔ)如何系統(tǒng)的學習Java

    這篇文章主要介紹了零基礎(chǔ)如何系統(tǒng)的學習Java,很多朋友糾結(jié)這個問題,教材書不知道從何學起,今天小編給大家分享一篇教程幫助到家梳理這方面的知識
    2020-07-07
  • Java中l(wèi)ombok的@Builder注解的解析與簡單使用詳解

    Java中l(wèi)ombok的@Builder注解的解析與簡單使用詳解

    這篇文章主要介紹了Java中l(wèi)ombok的@Builder注解的解析與簡單使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java?MethodHandles介紹與反射對比區(qū)別詳解

    Java?MethodHandles介紹與反射對比區(qū)別詳解

    這篇文章主要為大家介紹了Java?MethodHandles介紹與反射對比區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Java中EasyExcel使用自定義Converter處理方法詳解

    Java中EasyExcel使用自定義Converter處理方法詳解

    EasyExcel自定義Converter是指在使用EasyExcel進行Excel讀寫操作時,可以自定義轉(zhuǎn)換器來處理一些不支持的數(shù)據(jù)類型,這篇文章主要給大家介紹了關(guān)于Java中EasyExcel使用自定義Converter處理的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 使用Spring安全表達式控制系統(tǒng)功能訪問權(quán)限問題

    使用Spring安全表達式控制系統(tǒng)功能訪問權(quán)限問題

    從spring security 3.0開始已經(jīng)可以使用spring Expression表達式來控制授權(quán),允許在表達式中使用復雜的布爾邏輯來控制訪問的權(quán)限。這篇文章主要介紹了使用Spring安全表達式控制系統(tǒng)功能訪問權(quán)限,需要的朋友可以參考下
    2019-11-11
  • java異常處理攔截器詳情

    java異常處理攔截器詳情

    這篇文章主要介紹了java異常處理攔截器,使用異常處理攔截器,可以不用寫那么多try…catch…,下面就來學習關(guān)于java異常處理攔截器的詳情內(nèi)容吧,需要的朋友可以參考一下
    2021-10-10
  • Java實現(xiàn)讀取TXT和CSV文件內(nèi)容

    Java實現(xiàn)讀取TXT和CSV文件內(nèi)容

    這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)讀取TXT和CSV文件內(nèi)容的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-02-02
  • 新手了解java基礎(chǔ)知識(一)

    新手了解java基礎(chǔ)知識(一)

    這篇文章主要介紹了Java基礎(chǔ)知識,本文介紹了Java語言相關(guān)的基礎(chǔ)知識、歷史介紹、主要應用方向等內(nèi)容,需要的朋友可以參考下,希望對你有所幫助
    2021-07-07
  • Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例

    Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例

    Spring Boot工程嵌入的tomcat限制了請求的文件大小默認為1MB,單次請求的文件的總數(shù)不能大于10Mb,本文主要介紹了Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例,感興趣的可以了解一下
    2023-11-11

最新評論

富平县| 西林县| 盐源县| 和静县| 苍南县| 祁门县| 安图县| 舒兰市| 营口市| 灵寿县| 临洮县| 台山市| 红原县| 进贤县| 土默特左旗| 双城市| 南郑县| 兴安县| 朝阳县| 米泉市| 成都市| 乐清市| 佛坪县| 崇左市| 青浦区| 弥渡县| 永泰县| 华坪县| 黄山市| 合水县| 临沭县| 云南省| 清水河县| 陕西省| 屯昌县| 元氏县| 乐陵市| 大竹县| 体育| 阿拉善盟| 上蔡县|