我正在做一个涉及创建帐户的程序,我需要创建一个程序,以便它将扫描特定数据以执行分配的命令。 getter和setter函数适合吗?
public class Account {
//data
private int userId;
private String password;
private char type;
public Account(int userId, String password, char type) {
this.userId = userId;
this.password = password;
this.type = type;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public char getType() {
return type;
}
public void setType(char type) {
this.type = type;
}
//methods
public boolean verifyLogin(int usrid , String pass)
{
if((usrid == userId) & (pass == password)){
return true;
}
else{
return false;
}
}
答案 0 :(得分:2)
您的getter和setter方法可以很好地访问此类数据。
您需要特别注意的是如何检查密码是否正确。
在实现中,您使用pass == password
比较两个字符串。这是不正确的,您应该使用pass.equals(password)
。
答案 1 :(得分:1)
看起来不错,但是您需要重新考虑是否需要一些值的设置器。在示例中,用户ID会以某种方式更改不是很常见的用例。如果要保持持久性,则不需要setter。在构造函数中设置一次。
此外,您还可以查看Lombok Project和@Getter&@Setter批注。它将您的代码最小化为3行。