面向对象-基础实现用户登录验证
使用初始化参数的方法输入用户名密码实现基础的用户登录功能。
实现一:基本功能实现
public class Test3 { public static void main(String[] args) { if(args.length != 2){ System.out.println("您输入的参数不合法"); System.out.println("格式为:admin 123 用户名 密码"); System.exit(1); } String name = args[0]; String pwd = args[1]; if("admin".equals(name) && "123".equals(pwd)){ System.out.print("欢迎"+name+"登录"); }else{ System.out.println("用户名密码有误"); } }
以上程序完成了最基本的功能,但是主方法中编写了大量的代码,考虑单独做一些类,封装具体的判断过程。
实现二:
package javaBasics; public class Operate { private String info[]; public Operate(String info[]){ this.info = info; } public String login(){ String str = null; isExit(); if(new check().validate()){ str = "欢迎"+info[0]+"登录"; }else{ str = "用户名或密码错误"; } return str; } //验证类 class check{ public boolean validate(){ if("admin".equals(info[0]) && "123".equals(info[1])){ return true; }else{ return false; } } } //判断参数是否合法 public void isExit(){ if(this.info.length!=2){ System.out.println("您输入的参数不合法"); System.out.println("格式为:admin 123 用户名 密码"); System.exit(1); } } }
package javaBasics;
public class Test2 {
public static void main(String[] args) {
Operate oper = new Operate(args);
System.out.println(oper.login());
}
}
这样实现1.主方法代码较少,方便调用。
2.check类主要功能验证操作,只传入用户名密码即可。(前面看了内部类的相关知识点,所以这里用内部类调用,好处是可以直接访问外部类的私有属性)
3.operate主要调用和处理相关业务,最终把信息返回客户端。