张迪的课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程名称:数据结构课程设计

设计课题1:常用排序算法的实现及比较与分析设计课题2:求最长公共子串

****:**

总评成绩:

专业:计算机科学与技术班级:1382061 姓名:张迪学号:*********

二O一五年五月七日

一、程序目标及功能

1.1 程序目标

1、封装一个Account类 - 业务数据

(1)写一个账户类(Account),属性并且完全封装:

id:账户号码长整数(Long) password:账户密码字符串类型(String)

name:真实姓名字符串类型(String)

personId:身份证号码字符串类型(String)

email:客户的电子邮箱字符串类型(String) balance:账户余额双精度(double)

方法: deposit: 存款方法,参数类型:double,返回类型:Account withdraw:取款方法,参数类型:double,返回类型:Account

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

2、完成以下两种账户类型的编码

银行的客户分为两大类:储蓄账户(SavingAccount)和信用账户(CreditAccount),两种的账户类型的区别在于:储蓄账户不允许透支,而信用账户可以透支,并在用户在满足银行条件的情况下允许用户调整自己的透支额度。

注意:

(1)、CreditAccount需要多一个属性 ceiling 透支额度

(2)、CreditAccount需要覆盖(重写)Account中的取款方式withdraw()

3、完成Bank类的编码。

属性:

1)、当前所有的账户对象的信息,存放在集合中:List.

2)、当前账户数量index.

方法:

(1)用户开户(register)

参数列表: Long 账号, String密码, String确认密码,String 姓名,String身份证号码,String邮箱,int 账户类型;

(Long id, String password, String repassword, String name, String personID, String email, int type)

返回类型:Account

项目需求规定账户类型:0 –储蓄账户 1 –信用账户 2 –可贷款储蓄账户 3–可贷款信用账户

(2)用户登录(login)

参数列表: Long 账号, String密码;

(Long id, String password)

返回类型:Account

(3)用户存款(deposit)

参数列表: Long 账号, double存款金额;

(Long id, double money)

返回类型:Account

(4)用户取款(withdraw)

参数列表: Long 账号,String 密码,double取款金额;

(Long id, String password, double money)

返回类型:Account

(5)设置透支额度(updateCeiling)

参数列表: Long 账号, String 密码,double透支额度金额;

(Long id, String password, double money)

返回类型:Account

提示:这个方法需要验证账户是否是信用账户

(6)转账功能(transfer)

参数:from转出账户,passwordFrom 转出账号的密码,to转入账户,money转账的金额 (Long from, String passwordFrom, Long to, double money)

返回值:boolean

4、另外,请为Bank类添加几个统计方法

(1)统计银行所有账户余额总数

(2)统计所有信用账户透支额度总数

5、编写测试类(不需要写)

写个测试类,测试以上代码能否正常工作。

6、覆盖toString方法

查看对象的内容

7、让银行来提供账号(id)的生成

修改Account类和Bank类,银行用户的账号(id)应是自动生成的,初始值为:862150212013020001(国家+邮编+年+月+序号)。

比如:第一个开户的账号为862150212013020001,第二开户的账号为862150212013020002 …依此类推.

8、修改存款和取款方法

对于Account类中的存款方法和取款方法进行修改.

存款方法:改为不允许子类修改

取款方法:改为抽象方法,便于在子类中去覆盖(重写)

9、单例

将Bank类作成单例。

10、新增一个贷款功能

为了满足业务发展的需求,银行需要为用户提供贷款的功能,来满足更多的用户需求。

抽象出一个贷款功能的接口:Loanable

该接口具有以下功能:

贷款(requestLoan)

参数:money贷款金额

返回类型:Account

还贷(payLoan)

参数:money还贷款金额

返回类型:Account

11、新增两种的新的账户类型

为了满足业务发展的需求,新增两种具有贷款功能的账户类型:可以贷款不可以透支账户和可以贷款可以透支账户;

相关文档
最新文档