JAVA程序设计试题——SavingsAccount与BankAccount类分析

需积分: 0 0 下载量 29 浏览量 更新于2024-08-05 收藏 361KB PDF 举报
"这是一份2019-2020第二学期计算机学院的《JAVA程序设计》考试试卷A卷,包含了关于类定义、构造函数以及继承的问题。试卷主要涉及BankAccount基类,以及SavingsAccount和CheckingAccount两个派生类的实现。" 在Java编程中,类和构造函数是核心概念,它们用于创建对象并初始化其属性。题目中提到了三个类:BankAccount、SavingsAccount和CheckingAccount。BankAccount是基础类,拥有账户余额(myBalance)属性和相关的操作方法,如存款(deposit)、取款(withDraw)以及获取余额(getBalance)。SavingsAccount和CheckingAccount都是BankAccount的子类,分别代表储蓄账户和支票账户。 1. **构造函数**: - `BankAccount`类有两个构造函数:一个无参构造函数,用于创建余额为0的账户;另一个带参数的构造函数,接受初始余额作为输入。 - `SavingsAccount`类需要两个构造函数:一个是缺省构造函数,另一个是带参数的构造函数,可能需要初始化存款利息(myInterestRate)和账户初始余额。 - `CheckingAccount`类同样需要至少一个构造函数,用于设置初始余额,同时考虑到可能存在的手续费和最低余额限制。 2. **继承**: - SavingsAccount和CheckingAccount都继承了BankAccount,这意味着它们自动获得了BankAccount的所有属性和方法。继承允许在子类中扩展或重写父类的功能,提高代码复用性。 3. **SavingsAccount的addInterest()方法**: - 这个方法应该用于计算并添加利息到账户余额。通常,我们需要考虑利息的计算方式,例如按年利率计算,然后根据时间(月、季度、年)进行调整。实现可能包括确定利息计算周期,计算应得利息,然后将利息添加到myBalance中。 4. **CheckingAccount的withDraw()方法**: - 按照描述,这个方法除了从账户中减去取款金额外,还需要处理特殊情况。如果取款后余额小于MIN_BALANCE(50.0),则需要扣除手续费(FEE,2.0)。这可能导致账户余额为负值,允许透支。 5. **类设计**: - SavingsAccount和CheckingAccount的设计考虑了不同类型的账户特性。储蓄账户关注利息,而支票账户则涉及到取款手续费和可能的透支情况。这些特性通过类的属性(如myInterestRate和FEE)和方法(如addInterest和withDraw)体现出来。 在解答此类问题时,考生需要理解类的定义、构造函数的作用,以及如何在继承层次结构中扩展和重定义功能。同时,还要具备面向对象编程的基本概念,如封装、继承和多态。