JAVA简单案例讲解类的封装
(1)首先看没用类封装的代码。
public class gupeng {
public static void main(String [] args) {
if(args.length!=2) {//判断输入参数个数
System.out.println(“输入格式不对,系统退出”);
System.out.println(“格式:用户名,密码”);
System.exit(1);//系统退出
}
String name=args[0];
String psw=args[1];
if(name.equals(“gupeng”)&&psw.equals(“12345”)) {
System.out.print(“欢迎进入该系统”+name+"!");}
else {
System.out.print(“密码不正确”);
}
}
}
(2)进行封装后的程序
class Check{
public boolean validate(String name,String psw) {//实例化对比类进行比对返回结果
if(name.equals(“gupeng”)&&psw.equals(“12345”)) {
return true;
}
else {
return false;
}
}
}
class Operate{ //本类只是验证操作
private String info[];//定义数组属性,接受参数
public Operate(String info[]){//构造函数去的全部输入的参数
this.info=info;
}
public String login() {//该函数用来得到返回结果
Check check=new Check();//实例化检查类
this.isExit();//检查前必须输入正确
String name=this.info[0];
String psw=this.info[1];
String str=null;
if(check.validate(name, psw)) {//通过实例化检查类,调用类的比较方法
str="欢迎"+name+"光临";
}
else {
str="错误的用户名和密码";
}
return str;
}
public void isExit() {
if(this.info.length!=2) {
System.out.println("输入格式不对,系统退出");
System.out.println("格式:用户名,密码");
System.exit(1);//系统退出
}
}
}
public class gupeng {
public static void main(String [] args) {
Operate operate=new Operate(args);//实例化操作类,传入参数
System.out.println(operate.login());//得到结果
}
}
-大家可以看到后者的代码明显增多,但是主函数的代码明显减少,主方法就好比客户端,客户只需要输入参数,得到结果,如果在主方法里判断输出,显然不是好程序。