|
|
|
|
48
|
* `Teacher` should declare a `lecture` method signature:
|
48
|
* `Teacher` should declare a `lecture` method signature:
|
49
|
* Method name: `lecture`
|
49
|
* Method name: `lecture`
|
50
|
* Method parameters:
|
50
|
* Method parameters:
|
51
|
- * `Student[] student, double numberOfHours`
|
|
|
|
|
51
|
+ * `Student[] student`
|
|
|
52
|
+ * `double numberOfHours`
|
52
|
* Method return-type: `void`
|
53
|
* Method return-type: `void`
|
53
|
|
54
|
|
54
|
|
55
|
|
|
|
|
|
58
|
* `Instructor` is a subclass of `Person`
|
59
|
* `Instructor` is a subclass of `Person`
|
59
|
* `Instructor` implements the `Teacher` interface
|
60
|
* `Instructor` implements the `Teacher` interface
|
60
|
* `Instructor` should have a concrete implementation of the `teach` method which invokes the `learn` method on the specified `Student` object.
|
61
|
* `Instructor` should have a concrete implementation of the `teach` method which invokes the `learn` method on the specified `Student` object.
|
61
|
- * `Instructor` should have a concrete implementation of the `lecture` method which invokes the `learn` method on the specified array of `Student` objects.
|
|
|
|
|
62
|
+ * `Instructor` should have a concrete implementation of the `lecture` method which invokes the `learn` method on each of the elements in the specified array of `Student` objects.
|
62
|
* `numberOfHours` should be evenly split amongst the students.
|
63
|
* `numberOfHours` should be evenly split amongst the students.
|
63
|
* `double numberOfHoursPerStudent = numberOfHours / students.length;`
|
64
|
* `double numberOfHoursPerStudent = numberOfHours / students.length;`
|
64
|
|
65
|
|
65
|
-
|
66
|
-
|
66
|
# Part 5.0 - Test `Instructor`
|
67
|
# Part 5.0 - Test `Instructor`
|
67
|
-* Create an `TestInstructor` class.
|
|
|
|
|
68
|
+* Create a `TestInstructor` class.
|
68
|
* Create a `testImplementation` method that asserts that an `Instructor` is an `instanceof` a `Teacher`.
|
69
|
* Create a `testImplementation` method that asserts that an `Instructor` is an `instanceof` a `Teacher`.
|
69
|
* Create a `testInheritance` method that asserts that a `Instructor` is an `instanceof` a `Person`.
|
70
|
* Create a `testInheritance` method that asserts that a `Instructor` is an `instanceof` a `Person`.
|
70
|
* Create a `testTeach` method that ensures when an `Instructor` invokes the `.teach` method, a respective student's `totalStudyTime` instance variable is incremented.
|
71
|
* Create a `testTeach` method that ensures when an `Instructor` invokes the `.teach` method, a respective student's `totalStudyTime` instance variable is incremented.
|
71
|
- * Create a `testLecture` method that ensures when an `Instructor` invokes the `.teach` method, a respective student's `totalStudyTime` instance variable is incremented.
|
|
|
|
|
72
|
+ * Create a `testLecture` method that ensures when an `Instructor` invokes the `.teach` method, a respective student's `totalStudyTime` instance variable is incremented by the specified `numberOfHours`.
|
72
|
|
73
|
|
73
|
|
74
|
|
74
|
-
|
75
|
-
|
75
|
# Part 6.1 - Create `ZipCodeWilmington` Class
|
76
|
# Part 6.1 - Create `ZipCodeWilmington` Class
|
76
|
* Create a `ZipCodeWilmington` class.
|
77
|
* Create a `ZipCodeWilmington` class.
|
77
|
- * _Statically_ instantiate a `private` `ArrayList` of `Instructor` objects called `instructorList`.
|
|
|
78
|
- * Create a `public static` method called `hire` which adds an `Instructor` to the `instructorList` and returns `void`.
|
|
|
79
|
- * Create a `public static` method called `getInstructors` which returns the `instructorList`.
|
|
|
80
|
- * Create a `public static` method called `fireStaff` which clears our `instructorList`.
|
|
|
|
|
78
|
+ * _Statically_ instantiate a `private` `ArrayList` of `Instructor` objects named `instructorList`.
|
|
|
79
|
+ * Create a `public static` method named `hire` which adds an `Instructor` to the `instructorList` and returns `void`.
|
|
|
80
|
+ * Create a `public static` method named `getInstructors` which returns the `instructorList`.
|
|
|
81
|
+ * Create a `public static` method named `fireStaff` which clears our `instructorList`.
|
81
|
* Copy and paste this `static initialization block` immediately below your `instructorList` declaration.
|
82
|
* Copy and paste this `static initialization block` immediately below your `instructorList` declaration.
|
82
|
|
83
|
|
83
|
```java
|
84
|
```java
|
|
|
|
|
103
|
-
|
104
|
-
|
104
|
# Part 7.1 - Create `TechConnect` Class
|
105
|
# Part 7.1 - Create `TechConnect` Class
|
105
|
* Create a `TechConnect` class.
|
106
|
* Create a `TechConnect` class.
|
106
|
- * _Statically_ instantiate a `private` `ArrayList` of `Student` objects called `studentList`.
|
|
|
107
|
- * Create a `public static` method called `recruitStudent` which adds a `Student` to the `studentList` and returns `void`.
|
|
|
108
|
- * Create a `public static` method called `getStudents` which returns the `studentList`.
|
|
|
109
|
- * Create a `public static` method called `removeStudents` which clears our `studentList`.
|
|
|
|
|
107
|
+ * _Statically_ instantiate a `private` `ArrayList` of `Student` objects named `studentList`.
|
|
|
108
|
+ * Create a `public static` method named `recruitStudent` which adds a `Student` to the `studentList` and returns `void`.
|
|
|
109
|
+ * Create a `public static` method named `getStudents` which returns the `studentList`.
|
|
|
110
|
+ * Create a `public static` method named `removeStudents` which clears our `studentList`.
|
110
|
* Copy and paste this `static initialization block` immediately below your `studentList` declaration.
|
111
|
* Copy and paste this `static initialization block` immediately below your `studentList` declaration.
|
111
|
|
112
|
|
112
|
```java
|
113
|
```java
|
|
|
|
|
136
|
-
|
137
|
-
|
137
|
# Part 8.1 - Create `ClassRoom` Class
|
138
|
# Part 8.1 - Create `ClassRoom` Class
|
138
|
* Create a `ClassRoom` class.
|
139
|
* Create a `ClassRoom` class.
|
139
|
- * _Statically_ instantiate a `private` `ArrayList` of `Student` objects called `students` by invoking the `getStudents` method on the `TechConnect` class.
|
|
|
140
|
- * _Statically_ instantiate a `private` `ArrayList` of `Instructor` objects called `instructors` by invoking the `getInstructor` method on the `ZipCodeWilmington` class.
|
|
|
141
|
* Create a method named `getRoster` which returns a `HashMapping` of `String` to `Person` objects such that our `ZipCodeWilmington` instructors and `TechConnect` students' names map to their respective `Person` object.
|
140
|
* Create a method named `getRoster` which returns a `HashMapping` of `String` to `Person` objects such that our `ZipCodeWilmington` instructors and `TechConnect` students' names map to their respective `Person` object.
|
|
|
141
|
+ * Getting started hint below!
|
|
|
142
|
+ * instantiate an `ArrayList` of `Student` objects named `students` by invoking the `getStudents` method on the `TechConnect` class.
|
|
|
143
|
+ * instantiate an `ArrayList` of `Instructor` objects named `instructors` by invoking the `getInstructor` method on the `ZipCodeWilmington` class.
|
142
|
|
144
|
|
143
|
-
|
145
|
-
|
144
|
# Part 8.0 - Test `ClassRoom`
|
146
|
# Part 8.0 - Test `ClassRoom`
|