gpt4 book ai didi

java - 实现注册类

转载 作者:太空宇宙 更新时间:2023-11-04 08:56:06 24 4
gpt4 key购买 nike

嗨,我是 JAVA OO 概念上的一个全新的人,这是我第一次编程,我目前陷入如何创建一个注册类和一个将存储所有注册信息的类,这就是我所做的,4 个类,一个 Account 类,一个 Staff 类扩展 Account,一个 Student 类扩展 Account,以及一个 dataStorage 类来存储信息并在需要时提取它们。

public class Account {

private String name;
private String department;
private String username;
private String password;

public Account()
{
}
public Account(String nm,String dep,String user,String pass)
{
name = nm;
department = dep;
username = user;
password = pass;
}

public void setName(String nm)
{
name = nm;
}

public String getName()
{
..... other accessors
}

/**/

public class Student extends Account {

private String studentNRIC;
private String studentID;

public Student(String n, String nr, String id, String dep, String user, String pass)
{
super(n, dep, user, pass);
studentNRIC = nr;
studentID = id;
}

public void setStudentNRIC(String nr)
{
studentNRIC = nr;
}

public String getStudentNRIC()
{
return studentNRIC;
}
....accessors

}

/**/

public class Staff extends Account {

private String staffID;

public Staff(String n, String id, String dep, String user, String pass)
{
super(n, dep, user, pass);
staffID = id;
}

public void setStaffID(String id)
{
staffID = id;
}

public String getStaffID()
{
return staffID;
}


}

/****/ 导入java.util.*;

public class DataStorage 
{
ArrayList<Account> staff = new ArrayList<Account>();
ArrayList<Account> student = new ArrayList<Account>();

public DataStorage(Staff aAcc)
{
staff.add(aAcc);
}

public DataStorage(Student aAcc)
{
student.add(aAcc);
}

public String msg()
{
Staff sf = staff.get(0);


return staff;
}
}

最佳答案

到目前为止看起来不错。您可以做的一件事是将 ID(staffIDstudentID)移至 Account 类,将其命名为类似于 accountID 的名称。看来您创建的所有帐户都需要一个 ID,因此将其向上移动是有道理的。

这样做的一个好处是通过使用单个Collection来简化您的DataStorage类。即使您希望将 StaffStudents 分开,您也可以在 DataStorage 中使用 Map 而不是 List,因为这将使查找更快、更轻松。

关于java - 实现注册类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2251340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com