Nathan Sprague
Dotted arrows represent a dependency.
Diamond represents aggregation.
SeatingChart with SitRite3K.
step or solve can automatically update the display.SeatingChart and SitRite3KStudent objects a reference to the SeatingChart they are in, and give the responsibility for moving themselves:
bob.moveTo(3,5)placeStudent.setRow and setColumn.Student and SeatingChart.Posse class. Instead Student objects maintain an ArrayList of friends.Student.Posse class to provide Posse-specific functionality. E.g. PA3 introduces a Posse toString method.Student class for abbreviating names:
nathan.getName() -> "Nathan Sprague"nathan.getAbbreviatedName() -> "N. Sprague"Student class. Better to create a Name class or a utility class that can perform these conversions.Teacher class will require us to copy-paste this functionality.