【Java】—— Java面向对象基础:使用Java模拟银行账户与客户交易系统

目录

账户类(Account)

客户类(Customer)

测试类(CustomerTest)

运行结果


        在今天的博文中,我们将通过Java编程语言来模拟一个简单的银行账户与客户交易系统。这个系统将包括两个主要类:Account(账户类)和Customer(客户类),以及一个测试类CustomerTest来演示如何使用这些类。

账户类(Account)

        首先,我们创建一个Account类来模拟银行账户。这个类包含三个私有属性:账号ID(id)、余额(balance)和年利率(annualInterestRate。此外,该类还提供了相应的getter和setter方法来访问和修改这些属性。

        我们还实现了两个重要的方法:deposit(double amount)用于存款,withdraw(double amount)用于取款。这两个方法都进行了简单的验证,以确保取款金额不超过账户余额,并且存款金额大于0


public class Account {
    // 属性
    private int id;             //账号id
    private double balance;     // 余额
    private double annualnterestRate;   // 年利率

    // 构造器
    public Account(int i, double b, double a) {
        id = i;
        balance = b;
        annualnterestRate = a;
    }


    public void setId(int i) {
        id = i;
    }

    public void setBalance(double b) {
        balance = b;
    }

    public void setAnnualnterestRate(double a) {
        annualnterestRate = a;
    }

    public int getId() {
        return id;
    }

    public double getBalance() {
        return balance;
    }

    public double getAnnualnterestRate() {
        return annualnterestRate;
    }

    // 取钱方法
    public void withdraw(double amount) {
        if (amount <= balance && amount > 0) {
            balance -= amount;
            System.out.println("成功取出:" + amount);
        } else {
            System.out.println("余额不足,取款失败");
        }
    }

    // 存钱方法
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
            System.out.println("成功存入:" + amount);
        }
    }
}

客户类(Customer)

        接下来,我们创建Customer类来模拟客户。这个类包含三个私有属性:名字(firstName)、姓氏(lastName)和关联的账户(account。我们还提供了构造器来初始化客户的名字和姓氏,并提供了存取器方法来访问这些属性。此外,我们提供了setAccountgetAccount方法来分别设置和获取客户的账户信息。

public class Customer {
    // 属性
    private String firstName;
    private String lastName;
    private Account account;

    public Customer(String f,String l){
        firstName = f;
        lastName = l;
    }

    public String getFirstName(){
        return firstName;
    }
    public String getLastName(){
        return lastName;
    }
    public void setAccount(Account a){
        account = a;
    }
    public Account getAccount(){
        return account;
    }

}

测试类(CustomerTest)

        最后,我们通过CustomerTest类来测试我们的系统。在这个类中,我们首先创建了一个名为Jane Smith的客户,并为她创建了一个账号为1000、余额为2000元、年利率为1.23%的账户。然后,我们对这个账户进行了一系列操作:存入100元,取出960元,再尝试取出2000元(这次会失败,因为余额不足)。最后,我们打印出Jane Smith的基本信息和她的账户信息。

public class CustomerTest {
    public static void main(String[] args) {
        // 创建一个customer
        Customer customer = new Customer("Jane","smith");

        Account account = new Account(1000,2000,0.0123);
        // 将账户的地址值赋值给客户,客户就拿到账户的信息
        customer.setAccount(account);

        // 针对于客户的账户的进行取钱、存钱的操作
        customer.getAccount().deposit(100);     // 存100
        customer.getAccount().withdraw(960);    // 取960
        customer.getAccount().withdraw(2000);   // 取2000

        // 输出客户的信息
        System.out.println("Customer [" + customer.getLastName() + ", " + customer.getFirstName() +
                "] has a account: " + customer.getAccount().getId() + ", annualnterestRate is " +
                customer.getAccount().getAnnualnterestRate()*100 + "%, balance is " +
                customer.getAccount().getBalance());

    }
}

运行结果

        通过这个简单的示例,我们展示了如何使用Java类来模拟现实世界中的银行账户和客户交易系统。希望这个示例能够帮助你理解面向对象编程的基本概念,并激发你对Java编程的进一步兴趣。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值