日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UML类图-六种关系详解

發(fā)布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML类图-六种关系详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

UML基本介紹

  • UML——Unified modeling language UML(統(tǒng)一建模語言),是一種用于軟件系統(tǒng)分析和設計的語言工具,它用于幫助軟件開發(fā)人員進行思考和記錄思路的結(jié)果
  • UML本身是一套符號的規(guī)定,就像數(shù)學符號和化學符號一樣,這些符號用于描述軟件模型中的各個元素和他們之間的關(guān)系,比如類、接口、實現(xiàn)、泛化、依賴、組合、聚合等,如右圖:
  • 使用UML來建模,常用的工具有 RationalRose , 也可以使用一些插件來建模
  • 關(guān)系詳解

    類圖—依賴關(guān)系(Dependence)

    依賴關(guān)系是最簡單的一種關(guān)系。定義是:只要是在類中用到了對方,那么他們之間就存在依賴關(guān)系。如果沒有對方,連編繹都通過不了。
    實例:

    public class PersonServiceBean { private PersonDao personDao;//類 public void save(Person person){} public IDCard getIDCard(Integer personid){} public void modify(){ Department department = new Department(); } } public class PersonDao{} public class IDCard{} public class Person{} public class Department{}

    依賴關(guān)系的表述總結(jié):

  • 在一個類中用到了對方類
  • 一個類是另一個的成員屬性
  • 一個類是另一個類方法的返回值
  • 一個類是另一個類的方法參數(shù)
  • 類圖—泛化關(guān)系(generalization)

    泛化關(guān)系對應就是java中的繼承關(guān)系。
    實例:

    public abstract class DaoSupport{public void save(Object entity){}public void delete(Object id){} } public class PersonServiceBean extends DaoSupport {}

    類圖—實現(xiàn)關(guān)系(Implementation)

    其他所有的關(guān)系都是依賴關(guān)系的特例,實現(xiàn)關(guān)系類似于java中的實現(xiàn),即就是A類實現(xiàn)B接口。

    public interface PersonService { public void delete(Interger id); } public class PersonServiceBean implements PersonService { public void delete(Interger id){}

    類圖—關(guān)聯(lián)關(guān)系(Association)

    關(guān)聯(lián)關(guān)系實際上就是類與類之間的聯(lián)系,他是依賴關(guān)系的特例。
    關(guān)聯(lián)關(guān)系的特點是具有導航性:即不是雙向關(guān)系就是單向關(guān)系。
    實例:

    public class IDCard {private Person person; }public class Person {private IDCard idCard; }

    類圖—聚合關(guān)系(Aggregation)

    聚合關(guān)系和組合關(guān)系是UML中相對應的兩種關(guān)系。聚合關(guān)系的定義是:是整體和部分的關(guān)系,整體與部分可以分開。聚合關(guān)系的特點是具有關(guān)聯(lián)關(guān)系的導航性與多重性。例如:一臺電腦有鍵盤(keyboard)、顯示器(monitor),鼠標等組成;組成電腦的各個配件是可以從電腦上分離出來的。
    實例:

    public class Computer {private Mouse mouse;private Minitor minitor;public void setMouse(Mouse mouse) {this.mouse = mouse;}public void setMinitor(Minitor minitor) {this.minitor = minitor;} }public class Minitor { } public class Mouse { }

    類圖—組合關(guān)系(Composition)
    組合關(guān)系:也是整體與部分的關(guān)系,但是整體與部分不可以分離
    在程序中我們定義實體類:Person與IDCard、Head,nameHead與Person就是組合,Person與IDCard是聚合。
    如果程序中Person實體類中定義了對IDCard進行級聯(lián)刪除,即刪除Person時聯(lián)通IDCard一起刪除,IDCard與Person就是組合了。
    實例:

    public class Person {private IDCard card;private Head head = new Head(); //在Person被實例化的時候 head就被new出來} public class IDCard {} public class Head {}

    總結(jié)

    以上是生活随笔為你收集整理的UML类图-六种关系详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。