疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

从用户登录例子看类的设计及分析


 

        1、用户登录的示例

  首先要做的就是先把功能实现:

  public class LoginDemo01{

  public static void main(String args[]){

  if(args.length!=2){ // 应该判断输入的参数个数是否是2

  System.out.println("输入的参数不正确,系统退出!") ; // 给出一个正确的格式

  System.out.println("格式:java LoginDemo01 用户名 密码") ;

  System.exit(1) ; // 系统退出

  }

  String name = args[0] ; // 取出用户名

  String password = args[1] ; // 取出密码

  if(name.equals("xiaowu")&&password.equals("qiang")){ // 验证

  System.out.println("欢迎" + name + "光临!") ;

  }else{

  System.out.println("错误的用户名和密码!") ;

  }

  }

  };

  2、问题的进一步分析

  》需要一个完成专门验证的类

  》为验证进行一个包装,通过一个类去访问验证的类

  class Check{ // 完成具体的验证操作

  public boolean validate(String name,String password){

  if(name.equals("xiaowu")&&password.equals("qiang")){ // 验证

  return true ;

  }else{

  return false ;

  }

  }

  };

  class Operate{ // 本类只是调用具体的验证的操作

  private String info[] ; // 定义一个数组属性,用于接收全部输入参数

  public Operate(String info[]){

  this.info = info ; // 通过构造方法取得全部的输入参数

  }

  public String login(){

  Check check = new Check() ; // 实例化Check对象,用于检查信息

  this.isExit() ; // 判断输入的参数是否正确

  String str = null ; // 用于返回信息

  String name = this.info[0] ;// 取出姓名

  String password = this.info[1] ; // 取出密码

  if(check.validate(name,password)){ // 登陆验证

  str = "欢迎" + name + "光临!" ;

  }else{

  str = "错误的用户名和密码!" ;

  }

  return str ;

  }

  public void isExit(){ // 判断参数个数,来决定是否退出程序

  if(this.info.length!=2){

  System.out.println("输入的参数不正确,系统退出!") ; // 给出一个正确的格式

  System.out.println("格式:java LoginDemo02 用户名 密码") ;

  System.exit(1) ; // 系统退出

  }

  }

  };

  public class LoginDemo02{

  public static void main(String args[]){

  Operate oper = new Operate(args) ; // 实例化操作类的对象

  System.out.println(oper.login()) ; // 取得验证之后的信息

  }

  };