練習目標-使用引用類型的成員變量:在本練習中,將擴展銀行項目,添加一個(客戶類)Customer類。Customer類將包含一個Account對象。
任務
- 在banking包下的創建Customer類。該類必須實現上面的UML圖表中的模型。
a. 聲明三個私有對象屬性:firstName、lastName和account。
b. 聲明一個公有構造器,這個構造器帶有兩個代表對象屬性的參數(f和l)
c. 聲明兩個公有存取器來訪問該對象屬性,方法getFirstName和getLastName返回相應的屬性。
d. 聲明setAccount 方法來對account屬性賦值。
e. 聲明getAccount 方法以獲取account屬性。
- 在exercise2主目錄里,編譯運行這個TestBanking程序。應該看到如下輸出結果:
Creating the customer Jane Smith.
Creating her account with a 500.00 balance.
Withdraw 150.00
Deposit 22.50
Withdraw 47.62
Customer [Smith, Jane] has a balance of 324.88
package banking; import java.util.List; public class Customer extends Account { //成員屬性 private String firstName ; private String lastName ; private double account ; //構造方法 public Customer() { } //構造方法 public Customer(String f , String l) { this.firstName = f ; this.lastName = l ; } //get set public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public double getAccount() { return account; } public void setAccount(double account) { this.account = account; } public String toString() { return firstName + ", " + lastName ; } }
package banking; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TestBanking { public static void main(String[] args) { System.out.println("————————————————————————"); //實例化顧客 Customer cr = new Customer( ) ; cr.setFirstName("Jane"); cr.setLastName("Smith"); cr.setBalance(500); System.out.println("Creating the customer "+cr.getFirstName() +" "+cr.getLastName()); System.out.println("Creating her account with a " +cr.getBalance()+" balance"); System.out.println("Withdraw "+(cr.getBalance()-cr.withdraw(150)) ); double x1 = cr.getBalance( ) ; System.out.println("Deposit "+(cr.deposit(22.5)-x1)); System.out.println("Withdraw "+(cr.getBalance()-cr.withdraw(47.62))); System.out.println("Customer "+cr.getLastName()+" "+cr.getFirstName()+ " has a balance of "+cr.getBalance()); System.out.println("————————————————————————"); } }