官术网_书友最值得收藏!

1.4 項(xiàng)目案例及設(shè)計(jì)

本書內(nèi)容的展開,是以圖形參數(shù)計(jì)算程序(項(xiàng)目1~項(xiàng)目3)和鬧鐘工具小軟件(項(xiàng)目4~項(xiàng)目10)的實(shí)現(xiàn)為主要線索的,因此,我們有必要先了解下這兩個案例的背景和設(shè)計(jì)思路。

1.4.1 先導(dǎo)案例:圖形參數(shù)計(jì)算程序

(1)背景

Java是一個純面向?qū)ο笳Z言,面向?qū)ο笏枷氲睦斫夂驼莆帐菍W(xué)習(xí)Java編程的基礎(chǔ),前三個單元就是主要介紹面向?qū)ο蟮幕靖拍睿约癑ava的基本語法。由于面向?qū)ο蟾拍钶^為抽象,不易理解,因而,采用控制臺窗口方式,突出算法邏輯過程,選取大家熟知的圖形參數(shù)計(jì)算為載體,以便著力于面向?qū)ο缶幊谭椒ǖ膶W(xué)習(xí)和應(yīng)用。

(2)功能描述

實(shí)現(xiàn)常見圖形名稱的顯示,以及周長和面積計(jì)算的功能。

(3)設(shè)計(jì)思路

常用圖形包括三角形、四邊形、梯形等多種,每種圖形均有名稱、周長和面積等參數(shù),周長與面積的計(jì)算公式視圖形形狀的不同而不同。采用面向過程的編程方法,在設(shè)計(jì)圖形參數(shù)計(jì)算程序時,根據(jù)每種圖形形狀不同,需要設(shè)計(jì)相應(yīng)的計(jì)算邏輯,過程重復(fù),可復(fù)用性差。

根據(jù)面向?qū)ο蟮木幊趟枷耄O(shè)計(jì)一個圖形類,圖形的參數(shù)作為該類的屬性,參數(shù)計(jì)算則可通過定義該類的方法來實(shí)現(xiàn)。對于不同形狀的圖形,則可通過類的繼承、多態(tài)特性來實(shí)現(xiàn)不同的計(jì)算邏輯,以適應(yīng)多種圖形特點(diǎn)的周長和面積計(jì)算需要,同時具有較好的可擴(kuò)展性。

1.4.2 實(shí)戰(zhàn)案例:鬧鐘工具小軟件

(1)背景

在了解了 Java 面向?qū)ο缶幊谭椒ɑA(chǔ)上,后續(xù)單元則著重闡述如何應(yīng)用 Java 基礎(chǔ)類庫和編程機(jī)制,來進(jìn)行軟件開發(fā)。由于篇幅有限,以知識點(diǎn)覆蓋率高、業(yè)務(wù)流程完整、項(xiàng)目小而精為原則,選取了鬧鐘工具軟件作為載體。

(2)功能描述

這是一個可視化的工具軟件,主要功能如下。

① 設(shè)置鬧鐘(可以是一個或多個)。

② 選擇鈴聲和試聽鈴聲。

③ 實(shí)現(xiàn)主界面的圖標(biāo)最小化及還原。

④ 實(shí)現(xiàn)兩種方式上傳/下載鈴聲文件:一是利用服務(wù)器上傳和下載;二是利用數(shù)據(jù)庫實(shí)現(xiàn)上傳和下載。

鬧鐘工具小軟件運(yùn)行效果如圖1-5所示,其中圖1-5a為主界面,圖1-5b為版本說明界面。

(3)設(shè)計(jì)思路

① 為了提供更好的用戶體驗(yàn),采用Java提供的圖形界面方式,進(jìn)行用戶界面設(shè)計(jì),包括背景圖片、可視化操作按鈕等。

圖1-5 鬧鐘工具小軟件主界面

② 通過事件處理機(jī)制實(shí)現(xiàn)用戶交互,如設(shè)置提醒時間、選擇鈴聲等。

③ 利用輸入/輸出機(jī)制實(shí)現(xiàn)系統(tǒng)目錄上鈴聲文件的讀取和保存,用于用戶選取鈴聲。

④ 利用數(shù)據(jù)庫或服務(wù)器目錄,都可實(shí)現(xiàn)對客戶端文件的存取,但在一般情況下,文件較小時(如本案例),會選擇數(shù)據(jù)庫,否則放在服務(wù)器目錄。由于這兩種方式都是必掌握內(nèi)容,因此,在項(xiàng)目7和項(xiàng)目10中,分別采用數(shù)據(jù)庫和訪問遠(yuǎn)程服務(wù)器兩種方式實(shí)現(xiàn)新鈴聲的上傳/下載。

⑤ 對于中間結(jié)果數(shù)據(jù)的保存,根據(jù)情況進(jìn)行設(shè)計(jì),若為單個數(shù)值,如鬧鐘的時、分和秒,采用整型簡單數(shù)據(jù)類型;對于類類型,采用對應(yīng)類型的引用變量,如鬧鐘界面上的字體類Font,針對一些數(shù)量不定的類類型數(shù)據(jù)序列,則采用集合類,如鈴聲文件序列。

⑥ 利用多線程技術(shù),將每個鬧鈴的啟動設(shè)計(jì)為一個線程,以達(dá)到可同時設(shè)置多個鬧鈴的需要。

主站蜘蛛池模板: 丽水市| 田阳县| 扎囊县| 阜宁县| 寿宁县| 苏州市| 峡江县| 衡山县| 类乌齐县| 郴州市| 边坝县| 泰顺县| 巴彦淖尔市| 桂林市| 南昌市| 叶城县| 伊吾县| 托克托县| 兰溪市| 平遥县| 平凉市| 墨竹工卡县| 稻城县| 松原市| 扎囊县| 巴林右旗| 汉沽区| 黄陵县| 福州市| 定兴县| 桃园市| 丽水市| 高陵县| 乌苏市| 休宁县| 射洪县| 山西省| 崇州市| 霍城县| 偏关县| 大化|