需求:實現用戶登錄注冊功能(用集合框架來實現)
分析:
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("注冊失敗");
}
}
}
輸出結果:
注冊成功
登錄成功
可以換下參數測試下。
