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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UML类图---类与类图的解析

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

<strong>類圖用于描述系統(tǒng)中所包含的類以及它們之間的相互關(guān)系,幫助人們簡化對系統(tǒng)的理解,它是系統(tǒng)分析和設(shè)計階段的重要產(chǎn)物,也是系統(tǒng)編碼和測試的重要模型依據(jù)。</strong>

1. 類

?????? 類(Class)封裝了數(shù)據(jù)和行為,是面向?qū)ο蟮闹匾M成部分,它是具有相同屬性、操作、關(guān)系的對象集合的總稱。在系統(tǒng)中,每個類都具有一定的職責(zé),職責(zé)指的是類要完成什么樣的功能,要承擔(dān)什么樣的義務(wù)。一個類可以有多種職責(zé),設(shè)計得好的類一般只有一種職責(zé)。在定義類的時候,將類的職責(zé)分解成為類的屬性和操作(即方法)。類的屬性即類的數(shù)據(jù)職責(zé),類的操作即類的行為職責(zé)。設(shè)計類是面向?qū)ο笤O(shè)計中最重要的組成部分,也是最復(fù)雜和最耗時的部分。

????? 在軟件系統(tǒng)運(yùn)行時,類將被實(shí)例化成對象(Object),對象對應(yīng)于某個具體的事物,是類的實(shí)例(Instance)。

????? 類圖(Class Diagram)使用出現(xiàn)在系統(tǒng)中的不同類來描述系統(tǒng)的靜態(tài)結(jié)構(gòu),它用來描述不同的類以及它們之間的關(guān)系。

????? 在系統(tǒng)分析與設(shè)計階段,類通常可以分為三種,分別是實(shí)體類(Entity Class)、控制類(Control Class)和邊界類(Boundary Class),下面對這三種類加以簡要說明:

???? (1) 實(shí)體類:實(shí)體類對應(yīng)系統(tǒng)需求中的每個實(shí)體,它們通常需要保存在永久存儲體中,一般使用數(shù)據(jù)庫表或文件來記錄,實(shí)體類既包括存儲和傳遞數(shù)據(jù)的類,還包括操作數(shù)據(jù)的類。實(shí)體類來源于需求說明中的名詞,如學(xué)生、商品等。

???? (2) 控制類:控制類用于體現(xiàn)應(yīng)用程序的執(zhí)行邏輯,提供相應(yīng)的業(yè)務(wù)操作,將控制類抽象出來可以降低界面和數(shù)據(jù)庫之間的耦合度。控制類一般是由動賓結(jié)構(gòu)的短語(動詞+名詞)轉(zhuǎn)化來的名詞,如增加商品對應(yīng)有一個商品增加類,注冊對應(yīng)有一個用戶注冊類等

? ?? (3) 邊界類:邊界類用于對外部用戶與系統(tǒng)之間的交互對象進(jìn)行抽象,主要包括界面類,如對話框、窗口、菜單等。

???? 在面向?qū)ο蠓治龊驮O(shè)計的初級階段,通常首先識別出實(shí)體類,繪制初始類圖,此時的類圖也可稱為領(lǐng)域模型,包括實(shí)體類及其它們之間的相互關(guān)系。

2. 類的UML圖示

???? 在UML中,類使用包含類名、屬性和操作且?guī)в蟹指艟€的長方形來表示,如定義一個Employee類,它包含屬性name、age和email,以及操作modifyInfo(),在UML類圖中該類如圖1所示:

????????????????????????????????????????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????

圖1對應(yīng)的Java代碼片段如下:

public class Employee {private String name;private int age;private String email;public void modifyInfo() {......} }

在UML類圖中,類一般由三部分組成:

?? (1) 第一部分是類名:每個類都必須有一個名字,類名是一個字符串。

?? (2) 第二部分是類的屬性(Attributes):屬性是指類的性質(zhì),即類的成員變量。一個類可以有任意多個屬性,也可以沒有屬性

UML規(guī)定屬性的表示方式為:

可見性 名稱:類型 [ = 缺省值 ]

其中:

  • “可見性”表示該屬性對于類外的元素而言是否可見,包括公有(public)、私有(private)和受保護(hù)(protected)三種,在類圖中分別用符號+、-和#表示。
  • “名稱”表示屬性名,用一個字符串表示。
  • “類型”表示屬性的數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型,也可以是用戶自定義類型。
  • “缺省值”是一個可選項(xiàng),即屬性的初始值。

??? (3) 第三部分是類的操作(Operations):操作是類的任意一個實(shí)例對象都可以使用的行為,是類的成員方法。

UML規(guī)定操作的表示方式為:

可見性 名稱(參數(shù)列表) [ : 返回類型]

其中:

  • “可見性”的定義與屬性的可見性定義相同。
  • “名稱”即方法名,用一個字符串表示。
  • “參數(shù)列表”表示方法的參數(shù),其語法與屬性的定義相似,參數(shù)個數(shù)是任意的,多個參數(shù)之間用逗號“,”隔開。
  • “返回類型”是一個可選項(xiàng),表示方法的返回值類型,依賴于具體的編程語言,可以是基本數(shù)據(jù)類型,也可以是用戶自定義類型,還可以是空類型(void),如果是構(gòu)造方法,則無返回類型。
????? 在類圖2中,操作method1的可見性為public(+),帶入了一個Object類型的參數(shù)par,返回值為空(void);操作method2的可見性為protected(#),無參數(shù),返回值為String類型;操作method3的可見性為private(-),包含兩個參數(shù),其中一個參數(shù)為int類型,另一個為int[]類型,返回值為int類型。

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????? 由于在Java語言中允許出現(xiàn)內(nèi)部類,因此可能會出現(xiàn)包含四個部分的類圖,如圖3所示:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??



總結(jié)

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

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