package gradebook; import java.util.Collection; import gradebook.Grade; /** * Contains information necessary to keep track of an individual student. */ public abstract class Student { /** * The name of the student in the format of "First Last". */ String Name; /** * The student ID, at Cal Poly it's an eight character string, * generally in the format of "[first initial][last name]" * Must not be empty, as it's used for identification purposes. */ String studentID; /** * The student's employee ID. Can be an arbitrary string. */ String emplID; /** * The student's major, as a string. For example, "Computer Science" */ String major; /** * The student's class. Freshman through Grad student. */ ClassLevel studentClass; /** * The student's email. At Cal Poly, it's studentID@calpoly.edu. */ String email; /** * The student's phone number. Optional. */ String phone; /** * The professor's notes on the student. Optional. */ String notes; /** * A collection of Grades, which must have a 1 to 1 relationship with * the assignments in the gradebook. */ Collection grades; //bstanaka /** * Takes in a GradedItem g and returns the Grade for this student * for that GradedItem. */ abstract Grade getGrade(GradedItem g); enum ClassLevel { Freshman, Sophomore, Junior, Senior, Grad; } }