使用集合做一个用户登录注册的基本实现
使用集合做一个用户登录注册的基本实现 设计思想 按面向过程思想划分 1.拿到用户的基本信息,譬如用户名以及密码
2.校验用户名密码是否正确
3.返回数据(true,false)按面向对象思想划分 1.有哪些类
用户 : 由于用户成员变量较多,又可以拆分为基本用户类以及用户操作类
用户类
用户操作类
测试类
2.类有哪些东西
基本用户类:
成员变量:
用户名
密码
...
构造方法: ...
成员方法: getXxx()/setXxx()
用户操作类:
成员方法:
检验用户信息
测试类: main方法
3.类与类之间的关系
用户操作类: 进行数据与接受的用户对象的校验
测试类: 创建用户与用户操作类并使用它们的方法分包 A: 按功能划分
B: 按模块划分
C: 混合使用;如果模块较少,先按模块划分后按功能划分
这里使用按功能划分
用户基本描述包: cn.pojo
用户操作接口: cn.dao
为了方便作IO、GUI、数据库等实现的扩展 创建了一个操作接口
用户操作类: cn.dao.impl
用户测试类: cn.test代码实现 接口 用户操作接口的具体方法如下:1 2 3 public abstract boolean isLogin (String username,String password) ; void register (User user) ;
{% codeblock 实现方法 lang:java %}
public abstract boolean isLogin(String username,String password);
{% endcodeblock %}
实现类 1.用户集合
要确保每一个用户操作对象获得的都是同一个集合1 private static List<User> userList = new ArrayList<>();
2.登录功能1 2 3 4 5 6 7 public boolean isLogin (String username, String password) { int index = isEmptyUsername(username); if (index > -1 && userList.get(index).getPassword().equals(password)){ return true ; } return false ; }
3.注册功能1 2 3 4 5 6 7 8 public void register (User user) { if (isEmptyUsername(user.getUsername()) == -1 ) { userList.add(user); System.out.println("注册成功" ); } else { System.out.println("注册失败" ); } }
4.判断用户名并返回索引1 2 3 4 5 6 7 private int isEmptyUsername (String username) { for (int i = 0 ; i < userList.size(); i++) { if (userList.get(i).getUsername().equals(username)) return i; } return -1 ; }