在很多时候我们做登陆时都没很在意怎么去实现,有时用的并不是面向对象的方法
方法的返回值只意味着当你的方法调用要返回业务逻辑的处理结果的。如果业务逻辑不带处理结果,那么就是void的,不要使用返回值boolean来代表方法是否正确执行。
例如 用户登陆方法
代码: |
boolean login(String username, String password); |
很多人喜欢用boolean返回,如果是true,就是login了,如果false就是没有登陆上。其实是错误的。还有的人定义返回值为int型的,例如如果正确返回就是0,如果用户找不到就是-1,如果密码不对,就是-2
代码: |
int login(String username, String password); |
代码: |
int logon = UserManager.login(xx,xx); if (logon ==0) { ... } else if (logon == 1) { ... } else if (logon ==2) { ..} |
这是面向过程的编程逻辑,不是面向对象的编程逻辑。
应该这样来写:
代码: |
User login(String username, String password) throws UserNotFoundException, PasswordNotMatchException; |
主程序这样来写:
代码: |
try { UserManager.login(xx,xx); .... 用户登陆以后的主事件流代码 } catch (UserNotFoundException e) { ... 用户名称没有的事件处理,例如产生一个提示用户注册的页面 } catch (PasswordNotMatchException e) { .... 密码不对的事件处理,例如forward到重新登陆的页面 } |