2006年12月24日 星期日

套件

當程式寫得越來越多,管理檔案將不容易。
因此需要將程式分類,
也就是俗稱的:套件 package。
分類通常都採用目錄的方式
如將 bank 所屬的 Account.java SavingAccount.java 和 CreditAccount.java 放在同一個目錄
放到 bank 目錄後
要加上 package 名稱 (也就是資料夾名稱);
package bank;
同樣在 util 目錄中心增一個 report
package util;

public class Report {
 public static void list (CreditAccount[] cas){
  for (int c=0; c < cas.length; c++) {
   System.out.println( cas[c].toString() );
  }
 }
}
這時邊議會有很多錯誤,要 import 才能讓編譯器知道改怎麼找 class
最重要的程式
import bank.CreditAccount;
import util.Report;

public class Test {
 public static void main(String[] args) {
  CreditAccount[] cas = new CreditAccount[3];
  cas[0] = new CreditAccount(101,"Simon",200,0.02,100);
  cas[1] = new CreditAccount(102,"Mary",300,0.01,200);
  cas[2] = new CreditAccount(103,"John",500,0.01,300);

  Report.list(cas);
 }
}
這樣可以清楚的列出 creditAccount 陣列資料
而如果要每次都 import 一個檔案的話就累人了
因此可以改用 import 一個套件的所有檔案
import bank.*;
import util.*;
//這樣可以使用套件中的所有 class
import static java.lang.System.out;
//這樣可以少寫 System.out.println 的 System
import static util.Report.list;
//這樣也可以少寫 Report.

public class Test {
 public static void main(String[] args) {
  CreditAccount[] cas = new CreditAccount[3];
  cas[0] = new CreditAccount(101,"Simon",200,0.02,100);
  cas[1] = new CreditAccount(102,"Mary",300,0.01,200);
  cas[2] = new CreditAccount(103,"John",500,0.01,300);

  //原來是 Report.list(cas);
  list(cas);
  Account a = new Account(105,"Ban",200);
  //原來是 System.out.println(a);
  out.println(a);
 }
}
這樣就可以管理大量的程式,又不會混淆啦!

沒有留言: