在第一部分中,我們實現了5個類。在本部分中,我們接著說明如何利用UML類圖來設計余下的各個類。為減少篇幅,本部分著重講解UML類圖及應用,對Java實現代碼不再詳細描述。
六、CGPoint類
CGPoint類說明了如何利用非抽象類擴展抽象類。CGPoint類是CGObject的子類,CGPoint類擴展了 CGObject類,CGPoint類沒有再它所繼承的變量中增加變量,它所聲明的方法只有構造函數和要求它實現的抽象方法。其類圖如下:
Java實現代碼為:
七、CGBox類
CGBox類也擴展了CGObject類。CGBox類提供了在網格上顯示矩形的附加變量。CGBox類的類圖如下:
相應的代碼為:
八、CGText類
CGText類是CGObject中的第三個子類。其類圖與代碼分別如下:
以下是CGObject類、CGPoint類、CGBox類、CGText類及Point類之間的相互關系。注意CGObject類是抽象類,其類名用斜體表示。
代碼為:
十、CDrawApp類
主程序由CDrawApp類所構成。它包含main()方法,main()方法建立類CDraw的對象,然後調用該對象的run()方法。其中CDraw類屬於內部類,當然你也可以將它單獨作為一個類文件編輯、編譯,其效果是一樣的。
其中類與內部類之間的關系,用關聯關系來表達,外部類用一個十字交叉圓圈表示,箭頭指向內部類。如下圖所示:
其代碼實現為:
主程序CDrawApp類與相應類之間的關系為:
按照本文次序分別編譯以上的10個大類,然後運行主程序CdrawApp即可。在程序運行時請注意:當選擇增加點、框或者文本串後,選擇Show Grid才能出現網格,並顯示結果。
本文通過一個具體的程序開發過程,詳細說明了如何使用UML類圖來設計Java應用程序,使得程序開發可視化,文檔標准化,便於相互協作與管理,是Java應用程序開發的方向 。