Java-面向对象(基础篇)--实例讲解
来源:互联网 发布:淘宝商城女装卫衣套装 编辑:程序博客网 时间:2024/06/06 18:00
实例讲解
一. 系统登录
在各个应用系统中,都会看到用户登录的界面,下面就模拟一个系统用户登录的程序。为了方便理解,就将程序中的用户名和密码分别设置为:Java和java。程序采用初始化参数的方式输入用户名和密码。
程序分析:
既然使用初始化参数的方式输入用户名和密码,所以在程序运行之前首先必须判断输入的参数是否合法,如果不合法们则必须提示用户的程序执行错误,并退出程序。如果用户已经正确地输入了参数,则可以进行用户名及密码的验证。
实现一:基本功能实现
public class LoginDemo01 { public static void main(String args[]) { if(args.length!=2){ System.out.println("输入的参数不正确,系统推出"); System.out.println("格式:java LoginDemo01 用户名 密码"); System.exit(1); } String name=args[0]; String password=args[1]; if (name.equals("Java")&&password.equals("java")) { System.out.println("欢迎"+name+"光临!"); } else { System.out.println("错误的用户名或密码!"); } }}
程序运行结果(在cmd中输入参数):
(1) 参数格式错误:输入的参数不正确,系统推出格式:java LoginDemo01 用户名 密码(2) 输入的用户名或者密码错误:错误的用户名或密码!(3) 输入正确的用户名及密码:欢迎Java光临!
以上程序完成了基本的功能,但是读者现在思考一下,本程序并不能算是一个好程序,程序在主方法中编写了大量的代码,而主方法就好比是一个客户端,现在要求客户端自己比较、自己输出显然不合理,最简单的做法就是客户端只要得到最终的判断结果即可,至于中间是如何判断的,它根本就没有必要去关心,就好比进楼门要刷卡一样,用户只关心的是返回刷卡成功还是刷卡失败的信息。而不是关心里面是如何判断验证的。所以此处最好的做法是,单独做一些类,并使用这些类封装具体的判断过程。
修改后的代码:
class Check{ public boolean validate(String name,String password){ if (name.equals("Java")&&password.equals("java")) { 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 password=this.info[1]; String str=null; 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()); }}
程序的运行结果与之前相似。从本程序中可以发现:
*(1) 主方法处代码较少,因为是客户端,所以要方便客户使用;
(2) Check类的主要功能就是验证操作,只需要传入用户名和密码即可完成验证;
(3) Operate类的主要功能就是封装Check类的操作,并把Check的信息返回给调用处。*
0 0
- Java-面向对象(基础篇)--实例讲解
- java面向对象编程基础(三大特点)讲解
- Java-面向对象(基础篇)--面向对象基础
- java基础面向对象与实例
- Java面向对象入门讲解(深入浅出)
- java基础; 面向对象编程; 对象的实例化
- java基础(面向对象)
- JAVA 基础(面向对象)
- java面向对象(基础)
- java面向对象实例
- java面向对象实例
- java面向对象实例
- 实例讲解面向对象的思维方法
- 面向对象------实例讲解:类设计分析
- android基础篇------------java基础(4) (面向对象程序设计)
- java基础之面向对象——人机猜拳实例
- java基础-面向对象三大特性之继承实例
- java基础 面向对象
- java基本的数据类型
- Cocos2d-x高斯模糊
- 面试题:十大经典算法总结(Javascript描述)
- java -- 传值与传引用
- MySQL数据类型 ENUM和SET
- Java-面向对象(基础篇)--实例讲解
- Universal-Image-Loader的简单介绍和使用
- viicms仿乐享微信源码官方版
- Android 加入购物车动画
- 配置php.ini令当使用$_REQUEST的时候保存的是get的数据
- Mybatis快速入门
- Java clone() 浅克隆与深度克隆
- 线性可分支持向量机(一)
- 23.基本认证机制