首先有一个用户的类:
import java.util.Map;
public class Account {
private String userName;
private int password;
private double money;
private Pay pay;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public Account(String userName, int password) {
this.userName = userName;
this.password = password;
}
//选择支付方式
public boolean choosePay(Pay pay ){
if(pay.hasAuthorization(this))
return true;
else{
System.out.println(“选择方式失败,请重新选择”);
return false;
}
}
//获取支付对象
public Pay getPay(Pay pay){
if(choosePay(pay))
return pay;
else {
return null;
}
}
//支付
public boolean pay(Pay pay){
if(pay.confirmPay(this)){
System.out.println(“支付成功”);
return true;
}else {
System.out.println(“支付失败”);
return false;
}
}
}
然后要支持多种支付就采取接口的方式,创建一个Pay接口
第三方支付是需要第三方账号密码的,具体还无法实现,就作个简单的思想演示,下面是其中一个实现Pay接口的子类
此流程还缺少一个产品类,过一天我会修整好,然后改为一个完整的流程。