Banking系统
开发前的话:
Banking系统是校验初级程序员对Java语言特性的**实践项目,该项目分成八个设计阶段,每个阶段都在考量码哥对Java语言特性的熟练度。每个阶段说明都十分详细,初学者一定要基于"每个阶段的说明"去一步步去实现,实现过程中做到不超纲,不放水。免得庞大的代码量把自己绕成一个傻Ber...待到完成任务,就可以根据最终的实现结果回溯自己的不足。(记住:即使把编程语言的特性倒背如流也无法成为真正的专家,成为专家前需要不断模仿,从模仿中提炼自己思考问题的方式)。
实现过程
第一阶段
您是否会创建一个简单的"银行程序包"?
您是否对Java语言中面向对象特性及构造器的创建和使用知之甚详?
第二阶段
您是否知道如何使用”引用类型的成员变量"?
您是如何思考类间的组合关系?
第三阶段
您是否会使用或定义带有返回值类型的方法?
第四阶段
您是否会使用数组,以及区别数组与集合?
第五阶段
您是否理解面向对象的三大特性:继承?多态?以及方法的重写?
第六阶段
第七阶段
第八阶段
项目总结
第一阶段:

实验题目 1:
创建一个简单的银行程序包
实验目的:
Java 语言中面向对象的封装性及构造器的创建和使用。
实验说明:
在这个练习里,创建一个简单版本的 Account 类。将这个源文件放入 banking 程序包中。在创建单个帐户的默认程序包中,已编写了一个测试程序 TestBanking。
这个测试程序初始化帐户余额,并可执行几种简单的事物处理。最后,该测试程 序显示该帐户的最终余额。
提示:1.创建 banking 包2. 在 banking 包下创建 Account 类。该类必须实现上述 UML 框图中的模型。
a. 声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或 即时)余额。
b. 声明一个带有一个参数( init_balance ) 的公有构造器, 这个参数为 balance 属性赋值。
c. 声明一个公有方法 geBalance,该方法用于获取经常余额。
d. 声明一个公有方法 deposit,该方法向当前余额增加金额。
e. 声明一个公有方法 withdraw 从当前余额中减去金额。3.打开TestBanking.java文件,按提示完成编写,并编译 TestBanking.java 文件。4. 运行 TestBanking 类。可以看到下列输出结果:
Creating an account with a500.00balance
Withdraw150.00Deposit22.50Withdraw47.62The account has a balance of324.88
第一阶段说明
entity
Account.java


packageentity;public classAccount {/* balance:当前账户余额*/
private doublebalance;//
publicAccount() {
balance= 0;
}/*
*@parambalance*/
public Account(doublebalance) {this.balance =balance;
}/* bean*/
public doublegetBalance() {returnbalance;
}//
public double deposit(doubleamt) {if(amt>10000){
System.out.println("存款额度不得大于1万");
}else{
System.out.println("存款成功");return balance = balance +amt;
}returnbalance;
}/* 取款事务说明:
* 1.balance=0时,不允许取款
* 2.balance!=0时
* 2.1 amt>balance时,不允许取款
* 2.2 amt<=balance时 ,返回取款后的余额
*
*@paramamt
*@return
*/
public double withdraw(doubleamt) {if (balance != 0) {if (amt >balance) {
System.out.println("余额不足,取款失败");

}else{
System.out.println("取款成功");return balance = balance -amt;
}
}elseSystem.out.println("取款失败");returnbalance;
}
}
Account源码
第二阶段:


阶段二:
扩展银行项目,添加一个 Customer 类。Customer 类将包含一个 Account对象。
实验目的:使用引用类型的成员变量
提示:1. 在banking包下的创建Customer类。该类必须实现上面的UML图表中的模型。
a. 声明三个私有对象属性:firstName、lastName 和 account。
b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f 和 l)
c. 声明两个公有存取器来访问该对象属性,方法 getFirstName 和 getLastName
返
回相应的属性。
d. 声明 setAccount 方法来对 account 属性赋值。
e. 声明 getAccount 方法以获取 account 属性。2. 在 exercise2 主目录里,编译运行这个 TestBanking 程序。应该看到如下输出结果:
Creating the customer Jane Smith.
Creating her account with a500.00 balance. Withdraw 150.00Deposit22.50 Withdraw 47.62Customer [Smith, Jane] has a balance of324.88
第二阶段说明
entity
Account.java


packageentity;public classAccount {/* balance:当前账户余额*/
private doublebalance;//
publicAccount() {
balance= 0;
}/*
*@parambalance*/
public Account(doublebalance) {this.balance =balance;
}/* bean*/
public doublegetBalance() {returnbalance;
}//
public double deposit(doubleamt) {if(amt>10000){
System.out.println("存款额度不得大于1万");
}else{
System.out.println("存款成功");return balance = balance +amt;
}returnbalance;
}/* 取款事务说明:
* 1.balance=0时,不允许取款
* 2.balance!=0时
* 2.1 amt>balance时,不允许取款
* 2.2 amt<=balance时 ,返回取款后的余额
*
*@paramamt
*@return
*/
public double withdraw(doubleamt) {if (balance != 0) {if (amt >balance) {
System.out.println("余额不足,取款失败");
}else{
System.out.println("取款成功");return balance = balance -amt;
}
}elseSystem.out.println("取款失败");returnbalance;
}
}
Account源码
Customer.java


packageentity;public classCustomer {/* 客户属性*/
private Account account; // privateString firstName;privateString lastName;//
publicCustomer(String firstName, String lastName) {this.firstName =firstName;this.lastName =lastName;
}publicCustomer() {//TODO Aut
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27714.html