• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    利用UML類圖設計Java應用程序詳解(1)

    發布: 2007-6-11 17:19 | 作者: seanhe | 來源: | 查看: 94次 | 進入軟件測試論壇討論

    領測軟件測試網

    UML已成為面向對象設計的標準圖形化工具,在UML定義的各種圖中,本文只涉及類圖。Java應用程序由許多類所構成,類圖的設計與實現,是Java實現面向對象應用程序的核心。本文通過一個具體的應用程序的設計與實現過程,詳細說明了利用UML類圖設計Java應用程序,使得開發過程標準化、可視化,代碼編程簡單化。

    在類圖中,類被描述為帶有三層的盒子。

    頂層為類名,一般用加粗字體表示。如果類是抽象的,其名稱用斜體表示;如果類是接口,則在類名上方標注<<interface>>。

    中間層包含類的屬性(或變量),底層包含類的方法。與類名相似,如果方法是抽象的,那么它的名稱也用斜體表示。

    我們要設計的應用程序CDrawApp應用程序在基于字符的網格上畫點、框和文本串,該應用程序涉及到Java面向對象的許多概念與應用方法,非常系統、全面,在您仔細研讀后,定能迅速掌握UML類圖,并將其應用到實際的Java應用程序開發過程中。為減少代碼長度,讓程序簡單易懂,這里使用Java控制臺窗口顯示程序運行結果。該程序總共由10個大類組成,以下分別介紹。

    一、Point類

    在CDrawApp程序中定義的第一個類是Point類,該類用于通過x和y坐標在網格上標識一點。其類圖設計為:

    在該類中,有2個成員變量x和y,類圖中,“-”表示變量或方法為private,“+”表示public,“#”則表示protected。該類定義了三個不同的構造函數,這是重載(overload)的例子。

    接著該類設計了7個訪問方法。getX()和getY()方法分別返回一點的x和y坐標。SetX()和setY()方法根據參數xValue和yValue的值設置這些坐標的值。兩個add()方法通過被訪問點的坐標加上一個值來建立一個新的Point對象。New運算符建立類的新實例。它后面緊跟著初始化新生成實例的構造函數。toString()

    方法返回類String的一個對象,該對象用一個有序對來描述一個點。

    依據設計的類圖,其Java實現代碼為:

    // Point.<a target="_blank"

    class="wordstyle">

    java</a>public class Point {

    // Variable declarationsprivate int x;private int y;

    //Method declarationspublic Point() {x = 0;y = 0;}

    public Point(int xValue, int yValue)

    {x = xValue;y = yValue;}public Point(Point p)

    {x = p.getX();y = p.getY();}public int getX()

    {return x;}public int getY()

    {return y;}public void setX(int xValue)

    {x = xValue;}public void setY(int yValue)

    {y = yValue;}public Point add(Point p)

    {return new Point(x+p.getX(), y+getY());}

    public Point add(int i,int j)

    {return new Point(x+i,y+j);}public String toString()

    {return new String("("+String.valueOf(x)+","+String.valueOf(y)+")");}}

    二、CGrid類

    CGrid類用于定義指定大小的字符網格。它提供基本方法集,通過加入到這些方法中的其它類來得到擴展。該類的類圖為:

    CGrid類聲明3個變量:width、depth和grid[][]。width和depth 變量用于指定grid[][]的水平和垂直尺寸,grid[][]是保存網格字符的字符數組的數組。

    CGrid中的變量聲明為protected,這就規定了它們只能在聲明它們的包中和CGrid的任何子類中訪問。

    CGrid類只有一個單一構造函數,它設置width和depth的值,分配grid[][]數組,然后調用blankGrid()以空格為grid[][]賦值。

    CGrid有4種訪問方法。blankGrid()方法只是簡單地用空格字符來調用

    fillGrid()。fillGrid()方法把grid[][]的每個元素都設置為ch參數。GetCharFrom()方法用于找出網格中給定位置的字符。SetCharAt()用于把網格中一點設置成特定字符。

    在GetCharFrom()和SetCharAt()方法中使用Point類來定義它們的參數,這是類與類之間關聯的例子,我們稍候討論。

    根據以上類圖,CGrid類的原代碼為:

    // CGrid.<a target="_blank" 

    class="wordstyle">java</a>

    public class CGrid {

    // Variable declarationsprotected int width;

    protected int depth;protected char grid[][];

    // Method declarationspublic CGrid(int widthValue,int depthValue)

    {width = widthValue;depth = depthValue;grid

    = new char[depth][width];blankGrid();}public void blankGrid()

    {fillGrid(' ');}public void fillGrid(char ch) {for(int j=0;

    j<depth; ++j)for(int i=0; i>width; ++i)grid[j][i]= ch;}

    public void setCharAt(char ch,Point p){grid[p.getY()][p.getX()] = ch;}

    public char getCharFrom(Point p) {return grid[p.getY()][p.getX()];}}


    共3頁: 1 [2] [3] 下一頁

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>