偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

技術(shù)分享 :利用UML類圖實(shí)現(xiàn)Java應(yīng)用程序設(shè)計(jì)

開(kāi)發(fā) 架構(gòu)
UML有五類圖,你對(duì)UML類圖是否熟悉,這里就向大家介紹一下利用UML類圖設(shè)計(jì)Java應(yīng)用程序中Java應(yīng)用程序中的兩個(gè)類,相信通過(guò)本文的介紹大家對(duì)UML類圖有新的認(rèn)識(shí)。

本節(jié)繼續(xù)向大家介紹利用UML類圖設(shè)計(jì)Java應(yīng)用程序方面的內(nèi)容,主要包括CGObject類和PrintCGrid類兩大類,希望通過(guò)本節(jié)的介紹你對(duì)UML類圖有深刻的理解。

利用UML類圖設(shè)計(jì)Java應(yīng)用程序

UML已成為面向?qū)ο笤O(shè)計(jì)的標(biāo)準(zhǔn)圖形化工具,在UML定義的各種圖中,本文只涉及類圖。Java應(yīng)用程序由許多類所構(gòu)成,類圖的設(shè)計(jì)與實(shí)現(xiàn),是Java實(shí)現(xiàn)面向?qū)ο髴?yīng)用程序的核心。本文通過(guò)一個(gè)具體的應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,詳細(xì)說(shuō)明了利用UML類圖設(shè)計(jì)Java應(yīng)用程序,使得開(kāi)發(fā)過(guò)程標(biāo)準(zhǔn)化、可視化,代碼編程簡(jiǎn)單化。

我們要設(shè)計(jì)的應(yīng)用程序CDrawApp應(yīng)用程序在基于字符的網(wǎng)格上畫(huà)點(diǎn)、框和文本串,該應(yīng)用程序涉及到Java面向?qū)ο蟮脑S多概念與應(yīng)用方法,非常系統(tǒng)、全面,在您仔細(xì)研讀后,定能迅速掌握UML類圖,并將其應(yīng)用到實(shí)際的Java應(yīng)用程序開(kāi)發(fā)過(guò)程中。為減少代碼長(zhǎng)度,讓程序簡(jiǎn)單易懂,這里使用Java控制臺(tái)窗口顯示程序運(yùn)行結(jié)果。該程序總共由10個(gè)大類組成,以下分別介紹。

一、CGObject類

CGObject類是抽象類的例子,它通過(guò)abstract方法來(lái)限制其子類的行為。Abstract方法必須由非abstract子類實(shí)現(xiàn)。其UML類圖設(shè)計(jì)如下:

CGObject類用于定義在網(wǎng)格上顯示的對(duì)象的一般行為。它有兩個(gè)變量:location和drawCharacter。Location變量的類型是Point,用于在網(wǎng)格上指定一個(gè)對(duì)象所在的點(diǎn)。DrawCharacter變量用于畫(huà)對(duì)象的字符。
CGObject有三個(gè)方法,而沒(méi)有構(gòu)造函數(shù)。因?yàn)閍bstract類沒(méi)有完整定義,所以它沒(méi)有構(gòu)造函數(shù),也沒(méi)有對(duì)象實(shí)例。
第一個(gè)方法addToGrid()不是abstract類型的。它以類PrintCGrid的對(duì)象作為參數(shù),調(diào)用PrintCGrid類的addCGObject()方法,把this對(duì)象加到網(wǎng)格中。this關(guān)鍵字指當(dāng)前對(duì)象。用addToGrid()方法調(diào)用CGObject類的子類的對(duì)象,這些對(duì)象加到類PrintCGrid的對(duì)象中。

CGObject的其它兩個(gè)方法都用abstract關(guān)鍵字聲明。這意味著,這兩個(gè)方法在能夠由CGObject類的非abstract子類使用前必須被覆蓋。覆蓋方法必須擁有與anstract方法相同的名字、參數(shù)和返回值。Display()方法用于再網(wǎng)格上顯示類PrintCGrid的一個(gè)對(duì)象。Describe()方法用于顯示網(wǎng)格對(duì)象的描述。

二、PrintCGrid類

PrintCGrid類是CGrid類的子類,它定義了允許把對(duì)象加到網(wǎng)格中的附加變量和方法。它也提供了顯示網(wǎng)格的方法。PrintCGrid類的UML類圖如下圖所示:

利用UML類圖設(shè)計(jì)Java應(yīng)用程序中PrintCGrid類與CGrid類的關(guān)系是子類與父類的關(guān)系。在類圖中用實(shí)線與空心箭頭從子類指向父類表示。

PrintCGrid有一個(gè)構(gòu)造函數(shù)。該構(gòu)造函數(shù)有兩個(gè)參數(shù):x和y,它們表示網(wǎng)格的水平和垂直方向的尺寸。構(gòu)造函數(shù)調(diào)用super()方法,并把這兩個(gè)變量當(dāng)著變?cè)獋鬟f過(guò)去。Super()方法是構(gòu)造函數(shù)調(diào)用語(yǔ)句的一個(gè)例子。它以x和y作為變?cè){(diào)用PrintCGrid的父類(即CGrid類)的構(gòu)造函數(shù)。CGrid的構(gòu)造函數(shù)初始化其width和depth變量,分配grid[][]數(shù)組,并用空格給該數(shù)組元素賦值。CGrid的構(gòu)造函數(shù)運(yùn)行完后,PrintCGrid的構(gòu)造函數(shù)繼續(xù)把numObjects設(shè)置為0,并分配displayList[]數(shù)組。

PrintCGrid提供10個(gè)訪問(wèn)方法。AddCGObject()方法把對(duì)象加到displayList[]數(shù)組中。DeleteCGObject()方法刪除位于指定索引位置的對(duì)象。所有的后續(xù)對(duì)象都向前移動(dòng),以填充被刪除對(duì)象留下的空缺。DeleteLastObject()方法通過(guò)簡(jiǎn)單地把numObjects減1來(lái)刪除最后一個(gè)對(duì)象。

GetNumObjects方法返回displayList[]中的對(duì)象數(shù)目。GetObject方法返回displayList[]中指定位置的對(duì)象。clearGrid()方法通過(guò)把numObjects設(shè)置為0去清除所有對(duì)象。

DrawGrid()方法使用從CGrid類繼承的方法清空網(wǎng)格,然后調(diào)用displayList[]中每個(gè)對(duì)象的display()方法。

displayGrid[]方法在控制臺(tái)窗口中顯示每一行網(wǎng)格。它是繼承的例子。Grid[][]數(shù)祖在CGrid類中定義,由PrintCGrid所繼承。它由CGObject類的所有子類的drawGrid()方法和display()方法更新。PrintGrid()類用它來(lái)在控制臺(tái)窗口中打印字符。

ValueOf()方法用于displayGrid()方法中,它是String類的靜態(tài)方法。它把字符數(shù)組轉(zhuǎn)換成String對(duì)象。靜態(tài)方法類似于靜態(tài)變量,它整體上應(yīng)用于類,而不是作為類實(shí)例的各個(gè)對(duì)象使用。由于面向?qū)ο?,靜態(tài)方法只能訪問(wèn)靜態(tài)變量。所有靜態(tài)方法都是定局的,不能被覆蓋。DisplayRow()方法在控制臺(tái)窗口上顯示一行網(wǎng)格,show()方法把drawGrid()和displayGrid()方法組合成一個(gè)方法。本節(jié)關(guān)于利用UML類圖設(shè)計(jì)Java應(yīng)用程序相關(guān)內(nèi)容介紹到這里。

【編輯推薦】

  1. UML類圖設(shè)計(jì)Java應(yīng)用程序 Point和CGrid兩大類詳解
  2. UML類圖中類與類的四種關(guān)系圖解
  3. UML用例圖用法實(shí)例剖析
  4. 術(shù)語(yǔ)匯編 UML統(tǒng)一建模語(yǔ)言簡(jiǎn)介
  5. 利用UML類圖設(shè)計(jì)Java應(yīng)用程序詳解


 

責(zé)任編輯:佚名 來(lái)源: csdn.net
相關(guān)推薦

2009-09-03 08:46:55

UML類圖Java

2010-07-12 12:41:12

UML類圖

2010-07-09 16:54:47

UML類圖

2010-06-28 18:21:36

UML類圖設(shè)計(jì)

2010-07-07 18:00:44

UML類圖建模

2010-06-09 10:38:07

UML類圖

2010-06-12 16:59:45

UML設(shè)計(jì)

2010-08-12 15:59:23

Flex應(yīng)用程序

2010-03-04 10:11:17

Android手機(jī)系統(tǒng)

2022-05-04 23:08:36

標(biāo)準(zhǔn)Go應(yīng)用程序

2012-02-15 14:39:55

GNOME 3

2010-08-04 10:13:40

FlexBuilder

2010-07-05 16:23:39

UML類圖

2012-06-07 09:15:14

ibmdw

2012-03-30 15:47:50

ibmdw

2010-07-09 15:19:58

UML類圖建模

2023-10-07 09:37:53

2010-06-18 10:27:41

UML軟件開(kāi)發(fā)

2010-07-01 12:09:46

UML類圖

2009-02-25 14:51:05

應(yīng)用程序設(shè)計(jì)ASP.NET.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)