java实现用户登录注册功能(用集合框架来实现)
需求:实现用户登录注册功能(用集合框架来实现)
分析:
A:需求的类和接口
1.用户类 UserBean
2.用户操作方法接口和实现类 UserDao UserDaoImpl
3.测试类 UserTest
B:各个类中的东西
1.用户类UserBean:
a.成员 变量
(1)用户名 String username
(2)密码 String password
b.构造方法:
(1)无参构造方法 UserBean()
(2)有参构造方法 UserBean(String username,String password)
c.成员方法
(1)get()方法
(2)set()方法
d.重写toString()方法
2.用户方法操作接口UserDao:
a.方法:
(1)注册方法 registerUser()
(2)登录方法 isLognUser()
3.接口实现类UserDaoImpl:
a.实现方法
(1)注册方法 registerUser()
(2)登录方法 isLoginUser()
4.测试类Test:
方法:
main()方法
C:类与类之间的关系
1.UserDao的实现类是UserDaoImpl.
2.UserDaoImpl是用来操作UserBean的。
3.UserTest是用来调用其它几个类的
分包:
A:功能划分
B:模块划分
C:先按模块划分,再按功能划分
目前只能按功能划分:
用户类的类包: com.ma.bean
用户操作类的接口:com.ma.dao
用户操作接口实现类:com.ma.dao.impl
用户测试类:com.ma.test
代码:
用户基本类:
package com.ma.bean; /** * 用户基本类 * * @author ma * @version V1.0 * */ public class UserBean { //成员变量区 /** * 用户名 */ private String username; /** * 用户密码 */ private String password; //构造方法 public UserBean() { super(); } public UserBean(String username, String password) { super(); this.username = username; this.password = password; } //成员方法区 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; } @Override public String toString() { return "UserBean [username=" + username + ", password=" + password + "]"; } }
用户类UserBean的功能接口:
package com.ma.dao; import com.ma.bean.UserBean; /** * 用户类UserBean的功能接口 * * @author ma * @version V1.0 * */ public interface UserDao { /** * 用户登录方法 * * @param user 用户对象 * @return boolean 登录成功返回true,登录失败返回false */ public abstract boolean isLognUser(UserBean user); /** * 用户注册方法 * * @param user 用户对象 * @return boolean 注册成功返回true,注册失败返回false */ public abstract boolean registerUser(UserBean user); }
用户功能 接口UserDao的实现类:
package com.ma.dao.impl; import java.util.ArrayList; import com.ma.bean.UserBean; import com.ma.dao.UserDao; /** * 用户功能 接口UserDao的实现类 * * @author ma * @version V1.0 * */ public class UserDaoImpl implements UserDao { //得到一个集合 ArrayList<UserBean> arrList = new ArrayList<UserBean>(); @Override public boolean isLognUser(UserBean user) { //定义一个boolean返回值变量,默认为false boolean flag = false; //遍历集合,比较数据,判断是否可以登录 for (UserBean userBean : arrList) { if (userBean != null) { if(userBean.getUsername().equals(user.getUsername())&&userBean.getPassword().equals(user.getPassword())){ flag = true; } } } return flag; } @Override public boolean registerUser(UserBean user) { boolean flag = true; arrList.add(user); return true; } }
用户登录注册测试类:
package com.ma.test; import com.ma.bean.UserBean; import com.ma.dao.UserDao; import com.ma.dao.impl.UserDaoImpl; /** * 用户登录注册测试类 * * @author ma * @version V1.0 */ public class UserTest { public static void main(String[] args) { //创建一个用户操作类 UserDao ud = new UserDaoImpl(); //创建一个UserBean对象 UserBean user = new UserBean(); //得到数据 String name = "张三"; String password = "abc123"; //把数组放入UserBean对象中 user.setUsername(name); user.setPassword(password); //创建一个UserBean对象 UserBean user1 = new UserBean("张三","abc123"); //调用注册方法 if(ud.registerUser(user)){ System.out.println("注册成功"); //调用登录方法 boolean result = ud.isLognUser(user1); if(result){ System.out.println("登录成功"); }else{ System.out.println("用户名和密码不匹配。登录失败"); } }else{ System.out.println("注册失败"); } } }
输出结果:
注册成功
登录成功
可以换下参数测试下。