/*写一个名为Account的类模拟账户
1.该类的属性和方法如下所示:
该类包括的属性: 账户id,余额balance,年利率annualInterestRate
该类包含的方法:个属性的set和get方法。取款方法withdraw(),存款方法deposite()
写一个测试程序
1.创建一个Customer,名叫Jane smith,他有一个账号为1000,余额为2000,年利率为1.28
2.对Jane smith操作:
存入100元,再取出960元,再取出2000.
打印Jane smith的基本信息
信息显示如下:
成功存入:100
成功取出:960
余额不足,取钱失败
*/
public class test04 {
public static void main(String[] args) {
//先创建账户Account类对象
Account a = new Account("1000",2000,1.28);
//创建客户类对象
//传递给构造方法的 a 是让Customer对象和Account对象产生关系
//表示这个对象是给smith的
Customer c = new Customer("Jame smith",a );
c.getAcc().deposite(100);
c.getAcc().withdraw(960);
c.getAcc().withdraw(2000);
}
}
//创建一个账户Account类
class Account {
//都创建为私有属性,
private String id;
private double balance;
private double annualInterestRate;
//无参构造
public Account(){
}
//有参构造
public Account(String id, double balance, double annualInterestRate){
this.id = id;
this.balance = balance;
this.annualInterestRate = annualInterestRate;
}
//三个私有属性对应的set 和 get方法;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void setBalance(double balance) {
this.balance = balance;
}
public double getBalance() {
return balance;
}
public double getAnnualInterestRate() {
return annualInterestRate;
}
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
//定义取款方法withdraw()和存款方法deposite()
public void withdraw(double money){
if(balance < money){
System.out.println("余额不足,取款失败");
return;
}
//进行到这里,说明可以取款
//this.balance += money;
//利用this.set() this.get() 方法修改存取后的余额
this.setBalance(this.getBalance()-money);
System.out.println("成功取出"+money);
}
public void deposite(double money){
this.setBalance(this.getBalance()+money);
System.out.println("成功存入"+money);
}
}
/*
由这里的 ”1.创建一个Customer,名叫Jane smith,他有一个账号为1000,余额为2000,年利率为1.28“ 应该得知需要
创建一个Customer类,包含有人名,账号 两个属性 ,通过new一个Customer类的实例对象来连接与Account类。
*/
class Customer{
private String name;
//这里用Account类创建一个属性账户:acc
private Account acc;
//无参 和 有参
public Customer(){
}
public Customer(String name,Account acc){
this.name = name;
this.acc = acc;
}
//两个私有属性对应的set 和 get方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Account getAcc() {
return acc;
}
public void setAcc(Account acc) {
this.acc = acc;
}
}