5-3 物件的傳統運用
5-3-1 範例研討:規劃員工薪資資料 (A)程式功能:Ex5_1.java 『志明電器公司』希望建立電子化企業管理系統,人事部門所需的薪資管理子系統,需要規劃員工薪資資料,其中包含有:員工代號、姓名、部門、底薪與職務加級。請設計相關資料型態,並測試輸入/輸出結果,期望操作介面如下:
備註:Ex5_1.java 經由 javac 編譯後,產生兩只中介檔案(Bytecode)檔案,一則由 class Employee{ …} 程式區塊所產生的 Employee.class 檔案;另一則由 class Ex5_1 {….} 區塊所產生的 Ex5_1.class 檔案。 (B)製作技巧研討: 當利用物件變數描述真實現象,最困擾的是應具有哪些變數成員,才能夠明確的表示該『實體』的屬性。其實,採用多少或選用哪些變數成員,並沒有一定的規範,重點是應用系統裡需要處理哪些資料,或實體之間需要哪些資料才能辨識。『志明電器公司』員工應該具有哪些資料呢?首先須思考哪些資料可以辨識不同員工,假設每一員工都有唯一的員工代號,就可以用來區分每一位員工之間的不同點。另一方面,需合乎該員工資料是要提供給哪種系統使用,假設是薪資管理系統,則可能需要登錄員工的底薪、職務加級、以及加班時數等等。因此,吾人必須利用一個類別(Employee)來描述員工薪資資料,主程式再利用它產生員工物件,也利用所產生的員工物件,儲存某位員工(emp)各種屬性的數值,如圖 5-8 所示。
圖 5-8 利用 Employee 類別產生員工物件 (C)程式範例
圖 5-9 Ex5-1 程式架構
(D)程式重點分析: (1) 第 5~11 行:『class Employee { ….}』。宣告所欲產生物件變數的類別,該程式區塊會獨立產生 Employee.class 檔案,也可讓其他程式引用。 (2) 第 12~40 行:『class Ex5_1 { …}』。主類別程式區塊,經由 javac 編譯後,會獨立產生 Ex5_1.class 檔案。 (3) 第 19 行:『Employee emp = new Employee();』。利用 Employee 類別宣告產生 emp 物件變數,並產生 Employee 物件(new Employee())填入其中。該行敘述欲執行有效,必須 Employee.class(類別檔案)是在同一目錄底下,不然就需利用 import 命令指定位於哪一個目錄下並導入。 (4) 第 21~ 31 行:鍵盤輸入填入 emp.ID、emp.name、emp.depart...等變數成員內。 (5) 第 34~39 行:螢幕輸出 emp.ID、emp.name、emp.depart...等變數成員內。 5-3-2 範例研討:薪資扣繳所得稅 (A) 程式功能:Ex5_2.java 『志明電器公司』會計部門需要計算幫每位同仁預扣所得稅,稅額是總領薪資的 10%,請製作一套薪資扣繳所得稅系統,期望操作介面如下:
備註:Employee.class 類別可與其他程式共用。 (B)製作技巧研討: 吾人利用原來薪資管理系統所建立的 Employee.class 類別,再來製作薪資扣繳所得稅系統。於同一電子化企業系統內,使用相同型態的物件變數,資料較能保持一致性,但類別檔案必須存放於相同目錄下,否則必須用 import 導入。 (C)程式範例:
(D)程式重點說明: (1) 第 7 行:『Employee emp = new Employee();』。利用 Employee.class 類別宣告產生 emp 物件變數。 5-3-3 自我挑戰:產生商品資料 (A)程式功能:PM5_1.java 請您幫『春嬌生鮮超市』建立商品資料登錄系統,為了配合倉庫管理系統、銷售管理系統、會計管理系統使用,每一商品必需登錄有:編號(String)、名稱(String)、單價(int)、庫存量(int)、單位(String)、製造商(String)、安全庫存量(int)。請編寫一系統,讓管理員可登錄商品資料,登錄後再由螢幕顯出結果。期望操作介面如下:
(B)製作技巧提示: 將所欲規描述商品的『屬性』規劃成類別,再利用它產生物件變數,如圖 5-9 所示。接著,輸入商品各種屬性的內容,再將物件變數內容印出即可。虛擬碼提示如下:
圖 5-11 利用 Article 類別產生商品物件 程式架構如圖 5-11 所示。
圖 5-12 PM5_1 程式架構圖
|
翻轉工作室:粘添壽
Java 程式設計(二) 含物件導向
翻轉電子書系列:
|