通过上述的分析和举例对面向过程和面向对象做出总结:
在面向对象的世界中:万事皆对象
面向对象程序设计(OOP)就是使用对象进行程序设计。对象(Object)代表现实世界中可以明确标识的一个实体。例如:一个学生、一张桌子、一个圆、一个按钮甚至是一笔贷款都可以看作是一个对象。每个对象都有自己独特的标识、状态和行为。
案例1:
定义一个Admin类,该类存在,username、password属性,实现一个控制台版的用户注册登录案例;将注册的用户写在一个数组中。
Adminl类
package com.openlab; public class Admin { public String username; public String password; }
运行测试类
package com.openlab; import java.util.Scanner; public class Test { public static Admin[] users=new Admin[10]; public static int opacity=0; public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(true){ show(); menu1(); int choice =sc.nextInt(); if(choice==1) { while (true) { zhuce(); break; } }else if(choice==2) { while (true) { denglu(); break; }break; }else if(choice==3) { while (true) { search(); break; }break; }else if(choice==4) { System.exit(0); } } } private static void search() { // 查询 Scanner sc =new Scanner(System.in); System.out.print("请输入查询用户名称:"); String username =sc.next(); if(username ==null || username.trim().equals("")) { System.out.println("对不起,用户名不能为空"); search(); }if(!exeistsUser(username)) { System.out.println("对不起,用户不存在,请注册"); search(); }else { searchShow(username); } } private static void searchShow(String username) { // 查询结果显示 for(Admin admin:users) { if(admin!=null && admin.username.equals(username)) { admin.username=username; System.out.println("查询成功"+"用户"+admin.username+"----"+admin.password); } } } private static void denglu() { // 登录 Scanner sc =new Scanner(System.in); System.out.print("请输入用户名称:"); String username =sc.next(); System.out.print("请输入密码:"); String password =sc.next(); if(username ==null || username.trim().equals("")) { System.out.println("对不起,用户名不能为空"); denglu(); } if(password ==null || password.trim().equals("")) { System.out.println("对不起,密码不能为空"); denglu(); } if(!exeistsUser(username)) { System.out.println("对不起,用户不存在,请注册"); menu1(); } if(password.length()<=3) { System.err.println("密码长度不能少于3"); denglu(); }if(!equalsPassword(password)) { System.out.println("对不起,密码不正确,请重新登录"); denglu(); } else{ System.out.println("恭喜用户登录成功!"); } } private static boolean equalsPassword(String password) { for(Admin admin:users) { if(admin!=null) { if(admin.password.equals(password)) { return true; } } } return false; } private static void show() { for(Admin admin:users) { if(admin!=null) { System.out.println("用户"+admin.username+"----"+admin.password); } } } private static void zhuce() { // 注册 Scanner sc =new Scanner(System.in); System.out.print("请输入用户名称:"); String username =sc.next(); System.out.print("请输入密码:"); String password =sc.next(); if(username ==null || username.trim().equals("")) { System.out.print("对不起,用户名不能为空"); zhuce(); } if(exeistsUser(username)) { System.out.print("对不起,用户已经存在,请重新注册"); zhuce(); } if(password.length()<=3) { System.err.print("密码长度不能少于3"); zhuce(); }else{ Admin user =new Admin(); user.username=username; user.password=password; users[opacity++]=user; System.out.println("恭喜用户注册成功!"); } } private static boolean exeistsUser(String username) { for(Admin admin:users) { if(admin!=null) { if(admin.username.equals(username)) { return true; } } } return false; } private static void menu1() { System.out.println("~*~*~*~*~*~*~*~*~*~*~*~*~*~*"); System.out.println("\t 1.用户注册"); System.out.println("\t 2.用户登录"); System.out.println("\t 3.用户信息查询"); System.out.println("\t 4.退出系统"); System.out.println("~*~*~*~*~*~*~*~*~*~*~*~*~*~*"); System.out.print("请输入你的选择:"); } }
结果