import [Link].
*;
class User {
private String userID;
private String username;
private String email;
private List<QuizResult> results;
public User(String userID, String username, String email) {
[Link] = userID;
[Link] = username;
[Link] = email;
[Link] = new ArrayList<>();
}
public void updateProfile(String newUsername, String newEmail) {
[Link] = newUsername;
[Link] = newEmail;
}
public List<QuizResult> getResults() {
return results;
}
public void addResult(QuizResult result) {
[Link](result);
}
@Override
public String toString() {
return "UserID: " + userID + ", Username: " + username + ", Email: " + email;
}
}
// Subclass: QuizTaker (Student)
class QuizTaker extends User {
private int quizzesTaken;
public QuizTaker(String userID, String username, String email) {
super(userID, username, email);
[Link] = 0;
}
public void startQuiz(Quiz quiz) {
[Link]("Starting quiz: " + [Link]());
quizzesTaken++;
}
public int getQuizzesTaken() {
return quizzesTaken;
}
}
// Subclass: QuizGiver (Teacher)
class QuizGiver extends User {
private int quizzesCreated;
public QuizGiver(String userID, String username, String email) {
super(userID, username, email);
[Link] = 0;
}
public void createQuiz(Quiz quiz) {
[Link]("Creating quiz: " + [Link]());
quizzesCreated++;
}
public int getQuizzesCreated() {
return quizzesCreated;
}
}