试验:重构WoniuATM并完善其功能(二)
作者:reader1   类别:PHP开发    日期:2018-07-24 10:58:25    阅读:732 次   消耗积分:0 分

注:本节教材内容,与上期推送的《核心试验:重构WoniuATM并完善其功能(一)》为一个章节。

回顾上节内容,请点击:核心实验:重构WoniuATM并完善其功能(一)



实验流程




5.实现UserData数据类:

package com.woniuxy.atm.two;
 
public class UserData {
private String username;// 用户名
private String password;// 密码
private String phone;// 手机号码
private double balance;// 账户余额
private boolean isAdmin;// 是否管理员(用于初始用户设定)
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public boolean isAdmin() {
return isAdmin;
}
public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
    // 默认构造方法,由于有两个构造方法,所以必须显式声明
public UserData() {}
 
// 构造方法,快速设置初始用户或完成注册。也可用setter和getter挨个属性设置,均可
public UserData(String username, String password, String phone, int balance,
       boolean isAdmin) {
this.username = username;
this.password = password;
this.phone = phone;
this.balance = balance;
this.isAdmin = isAdmin;
}
}



6.实现UserManager类:


到目前为止代码框架已经为大家搭建完毕,接下来,就需要读者来独立完成更多的代码实现了。

对于用户管理类的实现,我们着重先来梳理一下思路,并演示注册代码的实现,登录的验证就交给读者朋友自行实现了。

(1).首先,我们已经学习了数组和List对象,我们认为使用List对象来管理用户会更加方便。

(2).其次,List对象里面应该存放什么数据类型?字符串?显然不是,应该存在UserData数据类的多个实例,每个实例对应一个用户。所以我们应该使用List<UserData>类型来定义该列表对象。

(3).再者,该List对象会在注册,登录甚至转账,存款中都会用到,所以我们应该将其定义为类级成员变量,而不应该是某个方法的局部变量。

(4).最后,由于我们经验会实例化UserManager类,所以为了保证实例化过程中不清空已经注册的用户,我们应该将该类级成员变量定义为:static静态,这样可以不随实例化过程而消失。

(5).所以,最终,我们在UserManager的类级定义了一个静态成员变量,代码如下:


static
 List<UserData> 
uds
 = 
new
 ArrayList<UserData>();



有了这个基础前提后,我们先通过重写UserManager的构造方法来完成初始用户的设置:


// 利用构造方法来完成两个默认用户的初始化设置,方便代码的调试,不用每次都要先注册
public UserManager() {
UserData ud1 = new UserData();
ud1.setUsername("admin");
ud1.setPassword("adminpass");
ud1.setBalance(5000);
ud1.setPhone("13812345678");
ud1.setAdmin(true);
uds.add(ud1); // 将第一个默认用户添加到uds列表对象中
UserData ud2 =
new UserData("woniu","woniupass","18081089811",5000,false);
uds.add(ud2); // 利用UserData的重载构造方法快速完成初始用户创建
}


接下来,我们来实现register方法,最后的UserManager的完整代码实现(除login()方法外)如下:

版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/59
上一篇:实验:重构WoniuATM并完善其功能(一)
下一篇:实验:Java异常处理机制(预备知识)
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}