—>需求
用Java集合框架Collection接口的ArrayList实现类来做一个简单的登录注册功能。用户选择注册功能注册一个用户名和密码,然后选择登录功能进行登录。登陆成功后,有一个猜数字的小游戏。实现的功能有:
- 注册功能
- 登录功能
- 小游戏功能
—>分析
Java语言最本质的特点就是面向对象。为了使我们的功能更符合面向对象思想,我们首先考虑涉及到哪些对象、类:
- 用户类
- 成员变量
- 用户名
- 密码
- 构造方法
- 无参构造器
- 代餐构造器
- 成员方法
- getXxx()
- setXxx()
- 登录
- 注册
- 成员变量
- 测试类
- main()
鉴于用户类可能还包括其他的成员变量和成员方法,为方便将来扩展,我们把用户类划分为用户描述类、功能操作类。如下:
- 用户描述类
- 成员变量
- 用户名
- 密码
- 构造方法
- 无参构造器
- 带参构造期
- 成员方法
- getXXX()
- setXXX()
- 成员变量
- 功能操作类
- 成员方法
- 登录
- 注册
- 成员方法
- 测试类
- mian()
—>实现
在测试类中创建用户描述类的实例化对象,并通过对象调用其功能方法。按功能分包如下:
如图所示,依次为操作功能接口、操作功能接口实现类、猜数字游戏类、用户描述类、测试类。
操作功能接口UserDao.java源码如下:
package com.liuyi.dao;
import com.liuyi.pojo.User;
/*
* 这是针对用户进行操作的接口
*
* @Version V1.0
*
* */
public interface UserDao {
/*
* 这是用户的登录功能
*
* username 用户名
*
* password 密码
*
* return 返回登录是否成功
* */
public abstract boolean isLogin(String username,String password) ;
/*
* 这是用户注册功能
*
* user 这是要注册的用户信息
* */
public abstract void regist(User user) ;
}
操作功能接口实现类UserDaoImpl.java源码如下:
package com.liuyi.dao.impl;
import java.util.ArrayList;
import com.liuyi.dao.UserDao;
import com.liuyi.pojo.User;
/*
* 这是用户操作的具体实现类(集合版)
*
* */
public class UserDaoImpl implements UserDao {
// 为了让多个方法访问同一个集合,把集合定义为成员变量
// 为了不让外部访问,定义为private
// 为了让多个对象共享一个集合,定义为static
private static ArrayList<User> array = new ArrayList<User>();