银行业务管理软件(5)

本文介绍了如何在Java银行项目中创建SavingAccount和CheckingAccount两个子类,涉及继承、多态和方法重写。实验内容包括修改Account类,创建SavingAccount类,包含利息率属性,并实现带有透支保护功能的CheckingAccount类,覆盖withdraw方法以处理透支情况。
摘要由CSDN通过智能技术生成

实验题目 5:
在银行项目中创建 Account 的两个子类:SavingAccount 和 CheckingAccount
实验目的:
继承、多态、方法的重写。
在这里插入图片描述
在这里插入图片描述

提 示:
创建 Account 类的两个子类:SavingAccount 和 CheckingAccount 子类
a. 修改 Account 类;将 balance 属性的访问方式改为 protected
b. 创建 SavingAccount 类,该类继承 Account 类
c. 该类必须包含一个类型为 double 的 interestRate 属性
d. 该类必须包括带有两个参数(balance 和 interest_rate)的公有构造器。该
构 造器必须通过调用 super(balance)将 balance 参数传递给父类构造
器。
实现 CheckingAccount 类 1. CheckingAccount 类必须扩展 Account 类 2. 该类必须包含一个类型为 double 的 overdraftProtection 属性。
3. 该类必须包含一个带有参数(balance)的共有构造器。该构造器必须通过调
用 super(balance)将 balance 参数传递给父类构造器。
4. 给类必须包括另一个带有两个参数(balance 和 protect)的公有构造器。该
构造器必须通过调用 super(balance)并设置 overdragtProtection 属性, 将 balance 参数传递给父类构造器。
5. CheckingAccount 类必须覆盖 withdraw 方法。此方法必须执行下列检
查。如 果当前余额足够弥补取款 amount,则正常进行。如果不够弥补但是
存在透支 保护,则尝试用 overdraftProtection 得值来弥补该差值
(balance-amount). 如果弥补该透支所需要的金额大于当前的保护级别。
则整个交易失败,但余 额未受影响。
6. 在主 exercise1 目录中,编译并执行 TestBanking 程序。输出应为:
Creating the customer Jane Smith.
Creating her Savings Account with a 500.00 balance and 3% interest.
尚硅谷 Java 基础实战—Bank 项目
Creating the customer Owen Bryant.
Creating his Checking Account with a 500.00 balance and no
overdraft protection.
Creating the customer Tim Soley.
Creating his Checking Account with a 500.00 balance and 500.00 in
overdraft protection.
Creating the customer Maria Soley.
Maria shares her Checking Account with her husband Tim.
Retrieving the customer Jane Smith with her savings account.
Withdraw 150.00: true
Deposit 22.50: true
Withdraw 47.62: true
Withdraw 400.00: false
Customer [Simms, Jane] has a balance of 324.88
Retrieving the customer Owen Bryant with his checking account with
no overdraft protection.
Withdraw 150.00: true
Deposit 22.50: true
Withdraw 47.62: true
Withdraw 400.00: false
Customer [Bryant, Owen] has a balance of 324.88
Retrieving the customer Tim Soley with his checking account that
has overdraft protection.
Withdraw 150.00: true
Deposit 22.50: true
Withdraw 47.62: true
Withdraw 400.00: true
Customer [Soley, Tim] has a balance of 0.0
Retrieving the customer Maria Soley with her joint checking account
with husband Tim.
Deposit 150.00: true
Withdraw 750.00: false
Customer [Soley, Maria] has a balance of 150.0

Account.java

package banking;

public class Account {
   
    protected double balance ;

    public Account(){
   

    }

    public Account(double init_balance){
   
        balance = init_balance ;
    }

    public void setBalance(double balance) {
   
        this.balance = balance;
    }

    public double getBalance() {
   
        return balance;
    }

    public boolean deposit(double amt){
   
        if (amt > 0){
   
            balance += amt ;
            return true ;
        }else {
   
            System.out.println("请输入正确的存款数");
            return false ;
        }

    }

    public boolean withdraw(double amt){
   
        if (balance >= amt){
   
            balance -= amt ;
            return true ;
        } else {
   
            System.out.println("余额不足!");
            return false ;
        }
    }
}

Bank.java

package banking;

public class Bank {
   
    private Customer[] customers ;
    private int numberOfCustomer ;

    public Bank(){
   
        customers = new Customer[5] ;
        numberOfCustomer = 0 ;
    }

    public void addCustomer(String f, String l){
   
        Customer cus= new Customer(f,l) ;
        customers[numberOfCustomer] = cus ;
        numberOfCustomer++ ;
    }

    public int getNumOfCustomers(){
   
        return numberOfCustomer ;
    }

    public Customer getCustomer(int index){
   
        return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值