亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用UML(圖)表示類(lèi)之間的6種關(guān)系

jf_78858299 ? 來(lái)源:技術(shù)工作筆記 ? 作者:HarmonySpring ? 2023-05-05 10:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

java以及其他的面向?qū)ο笤O(shè)計(jì)模式中,類(lèi)與類(lèi)之間主要有6種關(guān)系,他們分別是:依賴(lài)、關(guān)聯(lián)、聚合、組合、繼承、實(shí)現(xiàn)。他們的耦合度依次增強(qiáng)

1. 依賴(lài)(Dependence)

圖片

依賴(lài)關(guān)系的定義為:對(duì)于兩個(gè)相對(duì)獨(dú)立的對(duì)象,當(dāng)一個(gè)對(duì)象負(fù)責(zé)構(gòu)造另一個(gè)對(duì)象的實(shí)例,或者依賴(lài)另一個(gè)對(duì)象的服務(wù)時(shí),這兩個(gè)對(duì)象之間主要體現(xiàn)為依賴(lài)關(guān)系。定義比較晦澀難懂,但在java中的表現(xiàn)還是比較直觀(guān)的:類(lèi)A當(dāng)中使用了類(lèi)B,其中類(lèi)B是作為類(lèi)A的方法參數(shù)、方法中的局部變量、或者靜態(tài)方法調(diào)用。類(lèi)上面的圖例中:People類(lèi)依賴(lài)于Book類(lèi)和Food類(lèi),Book類(lèi)和Food類(lèi)是作為類(lèi)中方法的參數(shù)形式出現(xiàn)在People類(lèi)中的。

public class People{   
    //Book作為read方法的形參   
     public void read(Book book){   
        System.out.println(“讀的書(shū)是”+book.getName());   
    }   
}

2.關(guān)聯(lián)(Association)圖片圖片圖片

單向關(guān)聯(lián):

圖片

雙向關(guān)聯(lián):

圖片

對(duì)于兩個(gè)相對(duì)獨(dú)立的對(duì)象,當(dāng)一個(gè)對(duì)象的實(shí)例與另一個(gè)對(duì)象的一些特定實(shí)例存在固定的對(duì)應(yīng)關(guān)系時(shí),這兩個(gè)對(duì)象之間為關(guān)聯(lián)關(guān)系。關(guān)聯(lián)關(guān)系分為單向關(guān)聯(lián)和雙向關(guān)聯(lián)。在java中,單向關(guān)聯(lián)表現(xiàn)為:類(lèi)A當(dāng)中使用了類(lèi)B,其中類(lèi)B是作為類(lèi)A的成員變量。雙向關(guān)聯(lián)表現(xiàn)為:類(lèi)A當(dāng)中使用了類(lèi)B作為成員變量;同時(shí)類(lèi)B中也使用了類(lèi)A作為成員變量。

public class Son{
   //關(guān)聯(lián)關(guān)系中作為成員變量的類(lèi)一般會(huì)在類(lèi)中賦值
    Father father = new Father();
    public void getGift(){
        System.out.println(“從”+father.getName()+”獲得禮物”);
    }
}

public class Father{
    Son son = new Son();
    public void giveGift(){
        System.out.println(“送給”+son.getName()+“禮物”);
    }
}

3.聚合(Aggregation)圖片

圖片

聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,耦合度強(qiáng)于關(guān)聯(lián),他們的代碼表現(xiàn)是相同的,僅僅是在語(yǔ)義上有所區(qū)別:關(guān)聯(lián)關(guān)系的對(duì)象間是相互獨(dú)立的,而聚合關(guān)系的對(duì)象之間存在著包容關(guān)系,他們之間是“整體-個(gè)體”的相互關(guān)系。

public class People{
    Car car;
    House house; 
    //聚合關(guān)系中作為成員變量的類(lèi)一般使用set方法賦值
     public void setCar(Car car){
        This.car = car;
    }
    public void setHouse(House house){
        This.house = house;
    }

    public void driver(){
        System.out.println(“車(chē)的型號(hào):”+car.getType());
    }
    public void sleep(){
        System.out.println(“我在房子里睡覺(jué):”+house.getAddress());
    }
}

4.組合(Composition)圖片

圖片

相比于聚合,組合是一種耦合度更強(qiáng)的關(guān)聯(lián)關(guān)系。存在組合關(guān)系的類(lèi)表示“整體-部分”的關(guān)聯(lián)關(guān)系,“整體”負(fù)責(zé)“部分”的生命周期,他們之間是共生共死的;并且“部分”單獨(dú)存在時(shí)沒(méi)有任何意義。在下圖的例子中,People與Soul、Body之間是組合關(guān)系,當(dāng)人的生命周期開(kāi)始時(shí),必須同時(shí)有靈魂和肉體;當(dāng)人的生命周期結(jié)束時(shí),靈魂肉體隨之消亡;無(wú)論是靈魂還是肉體,都不能單獨(dú)存在,他們必須作為人的組成部分存在。

Public class People{
    Soul soul;
    Body body; 
    //組合關(guān)系中的成員變量一般會(huì)在構(gòu)造方法中賦值
     Public People(Soul soul, Body body){ 
        This.soul = soul;
        This.body = body;
    }

    Public void study(){
        System.out.println(“學(xué)習(xí)要用靈魂”+soul.getName());
    }
    Public void eat(){
        System.out.println(“吃飯用身體:”+body.getName());
    }
}

5.繼承(Generalization)圖片

圖片

繼承表示類(lèi)與類(lèi)(或者接口與接口)之間的父子關(guān)系。在java中,用關(guān)鍵字extends表示繼承關(guān)系。UML圖例中,繼承關(guān)系用實(shí)線(xiàn)+空心箭頭表示,箭頭指向父類(lèi)。

6.實(shí)現(xiàn)(Implementation)圖片

圖片

表示一個(gè)類(lèi)實(shí)現(xiàn)一個(gè)或多個(gè)接口的方法。接口定義好操作的集合,由實(shí)現(xiàn)類(lèi)去完成接口的具體操作。在java中使用implements表示。UML圖例中,實(shí)現(xiàn)關(guān)系用虛線(xiàn)+空心箭頭表示,箭頭指向接口.

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    UML類(lèi)詳解

    UML
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 10:12:47

    編寫(xiě)電視類(lèi)TV,UML類(lèi)和說(shuō)明

    編寫(xiě)電視類(lèi)TV,UML類(lèi)和說(shuō)明如下:注意:(1)電視只有在打開(kāi)的狀態(tài)下才可以調(diào)音量和設(shè)置新頻道;(2)設(shè)置音量和頻道時(shí),應(yīng)該在規(guī)定的范圍,如音量值為1-7。解題要求:編寫(xiě)測(cè)試
    發(fā)表于 10-29 06:09

    基于UML的考試管理系統(tǒng)設(shè)計(jì)

    文中著重解決UML在完成各階段任務(wù)中的應(yīng)用、分析設(shè)計(jì)流程等問(wèn)題,就類(lèi)與時(shí)序兩者設(shè)計(jì)次序進(jìn)行探討。UML有利于各類(lèi)人員
    發(fā)表于 12-22 17:14 ?35次下載
    基于<b class='flag-5'>UML</b>的考試管理系統(tǒng)設(shè)計(jì)

    時(shí)序類(lèi)關(guān)系

    類(lèi)和時(shí)序是在軟件系統(tǒng)設(shè)計(jì)中直接和程序代碼相關(guān)聯(lián)的,準(zhǔn)確地說(shuō),程序代碼是由類(lèi)直接產(chǎn)生,而時(shí)
    發(fā)表于 10-29 11:21 ?7175次閱讀
    時(shí)序<b class='flag-5'>圖</b>和<b class='flag-5'>類(lèi)</b><b class='flag-5'>圖</b>的<b class='flag-5'>關(guān)系</b>

    UML類(lèi)可向OWL類(lèi)轉(zhuǎn)換原理

    本體語(yǔ)言是OWL,其體系是開(kāi)放的,它被定義成3 個(gè)表達(dá)能力遞增的子語(yǔ)言O(shè)WL Lite,OWL DL與OWL Full。其中OWL DL 的表達(dá)能力較強(qiáng),推理支持能力也較強(qiáng)。UML 是軟件工程技術(shù)中一標(biāo)準(zhǔn)的建模語(yǔ)言,被廣大的軟件工程技術(shù)人員所接受與使用。如何對(duì)
    發(fā)表于 10-31 16:05 ?4次下載
    <b class='flag-5'>UML</b><b class='flag-5'>類(lèi)</b>可向OWL<b class='flag-5'>類(lèi)</b>轉(zhuǎn)換原理

    Uml建模三模型_uml建模的步驟

    描述系統(tǒng)內(nèi)部對(duì)象及其關(guān)系的靜態(tài)結(jié)構(gòu)。類(lèi)模型由類(lèi)構(gòu)建,類(lèi)圖中節(jié)點(diǎn)表示
    的頭像 發(fā)表于 09-25 09:51 ?1.7w次閱讀
    <b class='flag-5'>Uml</b>建模三<b class='flag-5'>種</b>模型_<b class='flag-5'>uml</b>建模的步驟

    UML類(lèi)之間關(guān)系

    UML中描述對(duì)象和類(lèi)之間相互關(guān)系的方式包括:依賴(lài)(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Gene
    的頭像 發(fā)表于 09-25 09:57 ?4375次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>類(lèi)</b><b class='flag-5'>圖</b><b class='flag-5'>之間</b>的<b class='flag-5'>關(guān)系</b>

    什么是UML?常見(jiàn)的UML工具有哪些?

    UML是統(tǒng)一建模語(yǔ)言,又稱(chēng)標(biāo)準(zhǔn)建模語(yǔ)言。是對(duì)軟件設(shè)計(jì)開(kāi)發(fā)過(guò)程可視化建模的一語(yǔ)言。多應(yīng)用在一些軟件系統(tǒng)工程上,有時(shí)在應(yīng)用在機(jī)械系統(tǒng)和業(yè)務(wù)流程上有所應(yīng)用。這種模型通常以圖表方式呈現(xiàn)。 UML
    的頭像 發(fā)表于 06-22 14:10 ?5513次閱讀
    什么是<b class='flag-5'>UML</b><b class='flag-5'>圖</b>?常見(jiàn)的<b class='flag-5'>UML</b><b class='flag-5'>圖</b>工具有哪些?

    UML簡(jiǎn)介與類(lèi)詳解

    本篇介紹了UML類(lèi)的基礎(chǔ)知識(shí),包括26關(guān)系,
    的頭像 發(fā)表于 05-05 09:07 ?6013次閱讀
    <b class='flag-5'>UML</b>簡(jiǎn)介與<b class='flag-5'>類(lèi)</b><b class='flag-5'>圖</b>詳解

    UML相關(guān)基本知識(shí)介紹

    UML - Unified modeling language UML (統(tǒng)一建模語(yǔ)言),是一用于軟件系統(tǒng)分析和設(shè)計(jì)的語(yǔ) 言工具, 用于幫助軟件開(kāi)發(fā)人員進(jìn)行思考和記錄思路的結(jié)果。簡(jiǎn)單說(shuō),UM
    的頭像 發(fā)表于 05-05 10:22 ?982次閱讀
    <b class='flag-5'>UML</b>相關(guān)基本知識(shí)介紹

    UML學(xué)習(xí)筆記

    類(lèi)表示類(lèi)之間的聯(lián)系,如關(guān)聯(lián)、依賴(lài)、聚合等,也包括類(lèi)的屬性和操作,類(lèi)
    的頭像 發(fā)表于 05-05 10:26 ?1316次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>圖</b>學(xué)習(xí)筆記

    UML類(lèi)圖符號(hào)等詳細(xì)介紹

    UML中描述對(duì)象和類(lèi)之間相互關(guān)系的方式包括:依賴(lài)(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Gene
    的頭像 發(fā)表于 05-05 10:41 ?1718次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>類(lèi)</b>圖符號(hào)等詳細(xì)介紹

    解析UML類(lèi)和時(shí)序

    這里不會(huì)將UML的各種元素都提到,我只想講講類(lèi)圖中各個(gè)類(lèi)之間關(guān)系; 能看懂類(lèi)圖中各個(gè)
    的頭像 發(fā)表于 05-05 11:03 ?1073次閱讀
    解析<b class='flag-5'>UML</b><b class='flag-5'>類(lèi)</b><b class='flag-5'>圖</b>和時(shí)序<b class='flag-5'>圖</b>

    一文帶你讀懂UML

    UML表示法的主要內(nèi)容可由下列五類(lèi)(共9來(lái)定義: (1)用例(Use Case
    的頭像 發(fā)表于 05-05 11:19 ?1046次閱讀

    圖解碼說(shuō)-六大UML類(lèi)關(guān)系(依賴(lài),繼承,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)

    UML 類(lèi)是面向?qū)ο笤O(shè)計(jì)的 “施工”,而依賴(lài)、繼承、實(shí)現(xiàn)、關(guān)聯(lián)、聚合、組合這六大關(guān)系,就是圖中定義類(lèi)
    的頭像 發(fā)表于 11-05 09:03 ?123次閱讀
    圖解碼說(shuō)-六大<b class='flag-5'>UML</b><b class='flag-5'>類(lèi)</b><b class='flag-5'>圖</b><b class='flag-5'>關(guān)系</b>(依賴(lài),繼承,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)