模块二、添加Customer 类
扩展银行项目,添加一个Customer 类。Customer 类将包含一个Account对象。
实训目的: 使用引用类型的成员变量。 提示:
- 在banking包下的创建Customer类。该类必须实现上面的UML图表中的模型。 a. 声明三个私有对象属性:firstName、lastName和account。 b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f 和l) c. 声明两个公有存取器来访问该对象属性,方法getFirstName和getLastName返回相应的属性。 d. 声明setAccount方法来对account 属性赋值。 e. 声明getAccount方法以获取account 属性。
- 创建TestBanking2类,对Customer和Account进行测试。 3.编译运行这个TestBanking2程序。应该看到如下输出结果: (仅做参考) 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; public class Customer { private String firstName; private String lastName; private Account account; // 构造方法 public Customer(String firstName,String lastName) { this.firstName = firstName; this.lastName = lastName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } }
具体实现过程: Customer customer = new Customer(“Jane”, “Smith”);创建一个客户。 Account account = new Account(500);创建一个账户。并将该账户用customer.setAccount(account);分配给该用户。就将客户类和账户类关联起来,可以通过该用户去操作他所拥有的账户。
package banking; public class TestBanking2 { public static void main(String[] args) { // 创建一个客户 Customer customer = new Customer("Jane", "Smith"); // 为customer对象创建一个账户account,并设置初始化金额 Account account = new Account(500); customer.setAccount(account); System.out.println("Creating an customer " + customer.getFirstName() +" "+customer.getLastName()); System.out.println("Creating her account " + "with a "+customer.getAccount().getBalance()+" balance"); // 取钱 customer.getAccount().withdraw(150.0); System.out.println("Withdraw 150.00"); // 存钱 customer.getAccount().deposit(22.50); System.out.println("Deposit 22.50"); // 取钱 customer.getAccount().withdraw(47.62); System.out.println("Withdraw 47.62"); System.out.println("Customer ["+customer.getLastName()+","+customer.getFirstName() +"] has a balance of " +customer.getAccount().getBalance()); } }