箭頭:
為金溪等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及金溪網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、金溪網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
指向父類或接口。
指向依賴物。
指向子元素。
箭頭形狀:
1繼承、實(shí)現(xiàn)是三角型箭頭,其他都為箭頭
2組合、聚合都有一個(gè)菱形端,且都為實(shí)線,其他都無菱形端
3繼承是實(shí)線,實(shí)現(xiàn)是虛線
4關(guān)聯(lián)是實(shí)線
5依賴是虛線
傳統(tǒng)應(yīng)用程序設(shè)計(jì)中所說的依賴一般指“類之間的關(guān)系”,那先讓我們復(fù)習(xí)一下類之間的關(guān)系:
泛化:表示類與類之間的繼承關(guān)系、接口與接口之間的繼承關(guān)系;
實(shí)現(xiàn):表示類對(duì)接口的實(shí)現(xiàn);
依賴:當(dāng)類與類之間有使用關(guān)系時(shí)就屬于依賴關(guān)系,不同于關(guān)聯(lián)關(guān)系,依賴不具有“擁有關(guān)系”,而是一種“相識(shí)關(guān)系”,只在某個(gè)特定地方(比如某個(gè)方法體內(nèi))才有關(guān)系。
關(guān)聯(lián):表示類與類或類與接口之間的依賴關(guān)系,表現(xiàn)為“擁有關(guān)系”;具體到代碼可以用實(shí)例變量來表示;
聚合:屬于是關(guān)聯(lián)的特殊情況,體現(xiàn)部分-整體關(guān)系,是一種弱擁有關(guān)系;整體和部分可以有不一樣的生命周期;是一種弱關(guān)聯(lián);
組合:屬于是關(guān)聯(lián)的特殊情況,也體現(xiàn)了體現(xiàn)部分-整體關(guān)系,是一種強(qiáng)“擁有關(guān)系”;整體與部分有相同的生命周期,是一種強(qiáng)關(guān)聯(lián);
1. 類(Class)
一般包含3個(gè)組成部分。第一個(gè)是類名;第二個(gè)是屬性(attributes);第三個(gè)是該類提供的方法(類的性質(zhì)可以放在第四部分;如果類中含有內(nèi)部類,則會(huì)出現(xiàn)第五個(gè)組成部分)。類名部分是不能省略的,其他組成部分可以省略。
類名書寫規(guī)范:正體字說明類是可被實(shí)例化的,斜體字說明類為抽象類。
屬性和方法書寫規(guī)范:修飾符 [描述信息] 屬性、方法名稱 [參數(shù)] [:返回類型|類型]
屬性和方法之前可附加的可見性修飾符:
加號(hào)(+)表示public;減號(hào)(-)表示private;#號(hào)表示protected;省略這些修飾符表示具有package(包)級(jí)別的可見性。
如果屬性或方法具有下劃線,則說明它是靜態(tài)的。
描述信息使用 開頭和使用 結(jié)尾。
類的性質(zhì)是由一個(gè)屬性、一個(gè)賦值方法和一個(gè)取值方法組成。書寫方式和方法類似。
例1:
Java代碼
public class TaxCalculator
{
private longtaxRate ;
private intsalary;
public TaxCalculator(long taxRate)
{
this.taxRate = taxRate ;
}
public long countTax()
{
return taxRate*salary;
}
public int getSalary()
{
return salary;
}
public void setSalary(int salary)
{
this.salary = salary;
}
}
推薦使用ModelGoon!
*ModelGoon是什么?
它是一個(gè)Eclipse插件,用于基于UML圖的模型設(shè)計(jì),以及逆向工程(即從已有源代碼生成類圖等,以作為代碼分析或者文檔使用)。
*適用條件
ModelGoon目前最新的版本是3.0.0,適用于Eclipse3.4+,包括最新的Eclipse 3.6版本
*如何安裝
推薦在線安裝,site地址是
需要注意的是,有時(shí)必須使用代理服務(wù)器才能連接成功。
也可以離線安裝,下載包的地址是
下載完該jar之后,直接拷貝到Eclipse安裝目錄下的dropins目錄下,重啟Eclipse即可
*如何使用
安裝成功后,file=new=other菜單里面會(huì)多出一項(xiàng)ModelGoon Diagrams,在自己已有的java工程中新建一個(gè)class diagram,用以生成類圖。創(chuàng)建完成后你會(huì)發(fā)現(xiàn)生成了一個(gè).mgc后綴的文件,現(xiàn)在你可以用這個(gè)文件創(chuàng)建自己的類圖了。用法相當(dāng)直接,你可以把若干個(gè)java類拖拽進(jìn)這個(gè)文件視圖中,UML類圖自然被生成,以及各個(gè)類之間的關(guān)系。
*參考資料
需要注意的是,有時(shí)必須使用代理服務(wù)器才能連接成功。
*為什么選擇ModelGoon而不是其他的插件
其他的UML插件也能完成類似的功能,但是在安裝使用的過程中會(huì)碰到種種問題。
常有人推薦EclipseUML這個(gè)插件,但是目前這個(gè)項(xiàng)目的主頁無法打開,似乎已停止維護(hù);
還有Slime UML據(jù)說也不錯(cuò),但是找不到下載源;
此外還有AgileJ口碑也不錯(cuò),可惜是付費(fèi)的,沒有免費(fèi)版;
至于papyrusuml,只是單向的,做模型設(shè)計(jì)、繪制UML圖時(shí)使用,而并不支持逆向工程;
下載一個(gè)rational rose軟件,IBM的。用這個(gè)畫類圖很簡單。進(jìn)入rational rose 在logical view那右鍵new-class diagram(這個(gè)就是類圖了),進(jìn)去之后畫類,畫完之后,右鍵選擇new attritube就是添加屬性,new operation 是添加方法。已經(jīng)告訴你怎么做了,自己動(dòng)動(dòng)手吧,很簡單的。