java-Bank Account Management System 银行账户管理系统,GitHub

项目名称:Bank Account Management System 银行账户管理系统

练习1:(面向对象基础语法)
写一个账户类(Account),属性:
id:账户账号 长整数,用户的账号(id)是自动生成的,初始值为100000,第一个开户的用户id为100001,第二个为100002,依此类推.
password:账户密码 字符串
name:真实姓名 字符串
open: 开户日期 Date
balance:账户余额 double

构造方法:
有参和无参,有参构造方法用于设置必要的属性

方法:
deposit: 存款方法,参数是double型的金额
withdraw:取款方法,参数是double型的金额

练习2:(封装)
将Account类作成完全封装

练习3:(继承)
银行的客户分为两类,
储蓄账户(SavingAccount)和信用账户(CreditAccount),
区别在于储蓄账户不允许透支,而信用账户可以透支,透支指的是账户余额小于0,并允许用户设置自己的透支额度.
注意:CreditAccount需要多一个属性 ceiling 透支额度
为这两种用户编写相关的类

同时要求编写Bank类,属性:
常量:public final int MAX_ACCOUNTS = 100000;
1.当前所有的账户对象的数组
2.当前账户数量

方法:
1.用户开户:开户类型:1.储蓄账户 2.信用账户 ,输入密码,密码确认,姓名,自动获得电脑日期作为开户日期,返回新创建的Account对象,
2.用户登录,参数:id,密码 返回Account对象

另外,请为Bank类添加几个统计方法
1.统计银行所有账户余额总数
2.统计所有信用账户透支额度总数
3.将Bank类作成单例

练习4:(语言高级特性,抽象类)
对于Account类,有两个方法,存款方法和取款方法,请修改这两个方法.
1.存款方法改为不允许子类修改
2.取款方法根据不同的子类而不同(信用账户可以透支取款),因此,改为抽象方法,在两个子类中分别实现

Bank类添加几个方法
1.用户存款,参数:id,存款数额,返回修改过的Account对象
2.用户取款,参数:id,取款数额,返回修改过的Account对象
3.修改透支额度, 参数:id,新的额度 ,返回修改过的Account对象.这个方法需要验证账户是否是信用账户

练习5:(接口)
为SavingAccount和CreditAccount各自添加一个子类
LoanSavingAccount类:用户可以贷款,不可以透支
LoanCreditAccount类:用户可以贷款,可以透支

说明:贷款和透支是不一样的,透支指的是账户余额小于0,而贷款用户需要一个贷款额的属性.
在ATM机上,用户可以选择贷款,也可以选择还贷款,而还贷款就是要把账户余额上的资金转到贷款额上,不可以透支还贷款
例如:用户余额10000元,贷款额100000元,用户可以选择还款5000元,则用户余额变为5000,贷款额变为95000元。

利用接口来抽象出LoanSavingAccount类和LoanCreditAccount类的共性,LoanAccount接口
接口中的方法:
1.requestLoan:贷款
2.payLoan:还贷
3.getLoan:获取用户贷款总额

为Bank类添加三个方法,
1.贷款:参数 id,贷款额,返回修改过的Account对象
2.还贷款:参数 id,还款额,返回修改过的Account对象
3.统计所有账户贷款的总数
4.修改开户方法(3.贷款储蓄账户 4.贷款信用账户)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
代码详情:
github地址

发布了41 篇原创文章 · 获赞 12 · 访问量 6094

猜你喜欢

转载自blog.csdn.net/Alingyuzi/article/details/104326197