1、创建账户类Account,内容如下
(1) 成员变量:账户id,实名name、账户余额balance,开户日期dateCreated(Date类型)
(2) 构造方法,2个参数,为id和实名赋初值
(3) 成员变量的get和set方法
(4) 取款方法withdraw,从账户提取指定数额,余额不足,不可以取款,提示用户
(5) 存款方法deposit,向账户存入指定数额
(6) 转账方法transfer(Account a),向指定账户转指定数额,余额不足,不可以转账,提示用户(7) public String toString()方法:返回字符串,格式为“帐号:id\t实名:name\t账户余额:balance\t开户时间: dateCreated”
2、创建信用账户类CreditAccount,继承Account类,内容如下:
(1) 增加成员变量: 信用额度creditLimit (例如值为20000,则此卡最多可以透支20000,信用额度可用于取款/消费,不可以用于转账)
(2) 构造方法,3个参数,为id,实名,信用额度赋初值
(3) 信用额度的get和set方法
(4) 取款方法withdraw,从账户提取指定数额,超出信用额度,不可以取款,提示用户
(5) 存款方法deposit,向账户存入指定数额
(6) 转账方法transfer(Account a),向指定账户转指定数额,只能使用余额转账,信用额度不可转帐,余额不足提示用户
(7) public String toString()方法:返回字符串,格式根据账户存款/欠款状态分为:如果账户有存款,返回:“帐号:id\t实名:name\t账户存款:***\t可用金额:***\t开户时间: dateCreated”如果账户有欠款,返回:“帐号:id\t实名:name\t账户欠款:***\t可用金额:***\t开户时间: dateCreated”
3、创建测试类AccountTest,包含main方法,测试要求如下
(1) 测试信用账户的创建、存款、取款、转账功能
(2) 测试信用账户到普通账户,普通账户到信用账户的转账功能。
(3) 注意测试余额和信用额度不足的情况。
(1) 成员变量:账户id,实名name、账户余额balance,开户日期dateCreated(Date类型)
(2) 构造方法,2个参数,为id和实名赋初值
(3) 成员变量的get和set方法
(4) 取款方法withdraw,从账户提取指定数额,余额不足,不可以取款,提示用户
(5) 存款方法deposit,向账户存入指定数额
(6) 转账方法transfer(Account a),向指定账户转指定数额,余额不足,不可以转账,提示用户(7) public String toString()方法:返回字符串,格式为“帐号:id\t实名:name\t账户余额:balance\t开户时间: dateCreated”
2、创建信用账户类CreditAccount,继承Account类,内容如下:
(1) 增加成员变量: 信用额度creditLimit (例如值为20000,则此卡最多可以透支20000,信用额度可用于取款/消费,不可以用于转账)
(2) 构造方法,3个参数,为id,实名,信用额度赋初值
(3) 信用额度的get和set方法
(4) 取款方法withdraw,从账户提取指定数额,超出信用额度,不可以取款,提示用户
(5) 存款方法deposit,向账户存入指定数额
(6) 转账方法transfer(Account a),向指定账户转指定数额,只能使用余额转账,信用额度不可转帐,余额不足提示用户
(7) public String toString()方法:返回字符串,格式根据账户存款/欠款状态分为:如果账户有存款,返回:“帐号:id\t实名:name\t账户存款:***\t可用金额:***\t开户时间: dateCreated”如果账户有欠款,返回:“帐号:id\t实名:name\t账户欠款:***\t可用金额:***\t开户时间: dateCreated”
3、创建测试类AccountTest,包含main方法,测试要求如下
(1) 测试信用账户的创建、存款、取款、转账功能
(2) 测试信用账户到普通账户,普通账户到信用账户的转账功能。
(3) 注意测试余额和信用额度不足的情况。
package com.model;import java.util.Date;/**
* 账户类Account
* @author Administrator
* 2019-03-24
*/public class Account {
private String id;
private String name;
private Integer balance;
private Date dateCreated;
// 构造方法
public Account(String id, String name) {
super();
this.id = id;
this.name = name;
System.out.println("创建账户成功");
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getBalance() {
return balance;
} public void setBalance(Integer balance) {
this.balance = balance;
} public Date getDateCreated() {
return dateCreated;
} public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
} @Override
public String toString() {
return "Account [id=" + id + ", name=" + name + ", balance=" + balance + ", dateCreated=" + dateCreated + "]";
}
// 取款方法(自定义错误编码)
public String withdraw(Integer Money) {
if (balance>= Money) {
// do something
return "OK";
} else {
return "001";
}
}
// 存款方法
public String deposit(Integer Money) {
// do something
return "";
}
// 转账方法
public String transfer(String id, Integer Money) {
// do something
return "";
}
}