登陆注册案例分析:
我们现在写代码需要面向对象,我们必须先找到能完成某个功能的类,接着调用里面的方法完成它
登陆注册案例中的类:
用户类
成员变量:用户名,密码
成员方法:登陆,注册功能
测试类
main
登陆注册案例中的类的详细分解:
用户类(User):用户名,密码,邮箱,电话,×××号。。。。--- 标准的java描述类
我们应该把对用户的所有的操作抽取出来形成一个类:
用户操作类:注册,登陆
定义一个接口:就是定义的登陆和注册的功能,我们之前说过接口是是对类的功能的一种扩展,
其实当时说的还不够完善,接口本质其实是用来定义规则的
测试类:
main
---------------------------------------------------------------
java中的分包:
com.edu.domain --- 标准的java描述类
com.edu.dao -- 存放的是接口
com.edu.dao.impl -- 存放的是接口实现类
com.edu.util -- 对对象进行操作的工具类
com.edu.test -- 测试类
package com.edu.domain;
publicclassUser {
private String userName;
private String password;
public User(String userName,String password) {
super();
this.userName = userName;
this.password = password;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
public String getUserName() {
returnuserName;
}
publicvoid setUserName(StringuserName) {
this.userName = userName;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(Stringpassword) {
this.password = password;
}
}
package com.edu.dao;
import com.edu.domain.User;
publicinterface UserDao {
//定义注册方法
publicabstract void regist(User user);
//定义登录方法
publicabstractboolean isLogin(StringuserName,String password);
}
packagecom.edu.dao.impl;
importjava.util.ArrayList;
importjava.util.Scanner;
importcom.edu.dao.UserDao;
importcom.edu.domain.User;
public classUserDaoImpl implements UserDao{
//创建一个集合
static ArrayList users = newArrayList();
public void regist(User user) {
//将对象存入集合
users.add(user);
}
public boolean isLogin(String userName,String password) {
boolean flag = false;
for (User user : users) {
if(userName.equals(user.getUserName())&&password.equals(user.getPassword())){
flag = true;
break;
}
}
return flag;
}
public void Game(){
//产生一个1-100 的随机数
int num = (int)(Math.random()*100+1);
System.out.println("输入你猜的数字");
while (true) {
Scanner sc = newScanner(System.in);
int guessNumber =sc.nextInt();
if (guessNumber>num) {
System.out.println("大了");
}
if (guessNumber
System.out.println("小了");
}
if (guessNumber==num) {
System.out.println("恭喜你答对了");
break;
}
}
}
}
packagecom.edu.test;
importjava.util.Scanner;
importcom.edu.dao.impl.UserDaoImpl;
importcom.edu.domain.User;
public class Test{
public static void main(String[] args) {
while(true){
System.out.println("欢迎来到登录注册界面");
System.out.println("1.注册");
System.out.println("2.登录");
System.out.println("3.退出系统");
//创建一个用户操作类对象
UserDaoImpl udi = newUserDaoImpl();
//创建键盘录入对象
Scanner sc = newScanner(System.in);
String choice =sc.nextLine();
switch (choice) {
case "1":
System.out.println("欢迎来到注册界面");
System.out.println("请输入用户名:");
String userName =sc.nextLine();
System.out.println("请输入密码:");
String password =sc.nextLine();
//将用户名和密码封装
User user = newUser(userName, password);
//调用接口实现类对象的注册方法,将用户名和密码存入集合中
udi.regist(user);
break;
case "2":
System.out.println("欢迎来到登录界面");
System.out.println("请输入用户名:");
String inputUserName= sc.nextLine();
System.out.println("请输入密码:");
String inputPassword= sc.nextLine();
boolean login =udi.isLogin(inputUserName, inputPassword);
if (login) {
System.out.println("登录成功");
udi.Game();
break;
}else {
System.out.println("登录失败");
}
break;
case "3":
default:
System.exit(0);
break;
}
}
}
}