UML類圖設(shè)計Java應(yīng)用程序 Point和CGrid兩大類詳解
本節(jié)向大家介紹一下利用UML類圖設(shè)計Java應(yīng)用程序方面的內(nèi)容,本節(jié)主要介紹了Point類和CGrid類兩部分內(nèi)容,相信通過本節(jié)的學(xué)習(xí)大家對UML類圖有全新的認(rèn)識。
利用UML類圖設(shè)計Java應(yīng)用程序
UML已成為面向?qū)ο笤O(shè)計的標(biāo)準(zhǔn)圖形化工具,在UML定義的各種圖中,本文只涉及類圖。Java應(yīng)用程序由許多類所構(gòu)成,類圖的設(shè)計與實現(xiàn),是Java實現(xiàn)面向?qū)ο髴?yīng)用程序的核心。本文通過一個具體的應(yīng)用程序的設(shè)計與實現(xiàn)過程,詳細(xì)說明了利用UML類圖設(shè)計Java應(yīng)用程序,使得開發(fā)過程標(biāo)準(zhǔn)化、可視化,代碼編程簡單化。
在類圖中,類被描述為帶有三層的盒子。
頂層為類名,一般用加粗字體表示。如果類是抽象的,其名稱用斜體表示;如果類是接口,則在類名上方標(biāo)注<<interface>>。
中間層包含類的屬性(或變量),底層包含類的方法。與類名相似,如果方法是抽象的,那么它的名稱也用斜體表示。
我們要設(shè)計的應(yīng)用程序CDrawApp應(yīng)用程序在基于字符的網(wǎng)格上畫點、框和文本串,該應(yīng)用程序涉及到Java面向?qū)ο蟮脑S多概念與應(yīng)用方法,非常系統(tǒng)、全面,在您仔細(xì)研讀后,定能迅速掌握UML類圖,并將其應(yīng)用到實際的Java應(yīng)用程序開發(fā)過程中。為減少代碼長度,讓程序簡單易懂,這里使用Java控制臺窗口顯示程序運行結(jié)果。該程序總共由10個大類組成,以下分別介紹。
一、Point類
在CDrawApp程序中定義的***個類是Point類,該類用于通過x和y坐標(biāo)在網(wǎng)格上標(biāo)識一點。其類圖設(shè)計為:
在該類中,有2個成員變量x和y,類圖中,“-”表示變量或方法為private,“+”表示public,“#”則表示protected。該類定義了三個不同的構(gòu)造函數(shù),這是重載(overload)的例子。
接著該類設(shè)計了7個訪問方法。getX()和getY()方法分別返回一點的x和y坐標(biāo)。SetX()和setY()方法根據(jù)參數(shù)xValue和yValue的值設(shè)置這些坐標(biāo)的值。兩個add()方法通過被訪問點的坐標(biāo)加上一個值來建立一個新的Point對象。New運算符建立類的新實例。它后面緊跟著初始化新生成實例的構(gòu)造函數(shù)。toString()
方法返回類String的一個對象,該對象用一個有序?qū)砻枋鲆粋€點。
二、CGrid類
CGrid類用于定義指定大小的字符網(wǎng)格。它提供基本方法集,通過加入到這些方法中的其它類來得到擴展。該類的UML類圖為:
CGrid類聲明3個變量:width、depth和grid[][]。width和depth變量用于指定grid[][]的水平和垂直尺寸,grid[][]是保存網(wǎng)格字符的字符數(shù)組的數(shù)組。
CGrid中的變量聲明為protected,這就規(guī)定了它們只能在聲明它們的包中和CGrid的任何子類中訪問。
CGrid類只有一個單一構(gòu)造函數(shù),它設(shè)置width和depth的值,分配grid[][]數(shù)組,然后調(diào)用blankGrid()以空格為grid[][]賦值。
CGrid有4種訪問方法。blankGrid()方法只是簡單地用空格字符來調(diào)用
fillGrid()。fillGrid()方法把grid[][]的每個元素都設(shè)置為ch參數(shù)。GetCharFrom()方法用于找出網(wǎng)格中給定位置的字符。SetCharAt()用于把網(wǎng)格中一點設(shè)置成特定字符。
在GetCharFrom()和SetCharAt()方法中使用Point類來定義它們的參數(shù),這是UML類圖中類與類之間關(guān)聯(lián)的例子,我們稍候討論。
【編輯推薦】