Lambdas02
Gegeben sind die beiden Klassen FilteredAdultStudents und
FilteredTeenStudents. Beide sollen sicherstellen, dass nur bestimmte Studenten
hinzugefügt werden können. Die Klasse FilteredAdultStudents ermöglicht nur das
Hinzufügen von Studenten, die mindesten 18 Jahre alt sind; die Klasse
FilteredTeenStudents das Hinzufügen von Studenten unter 18 Jahren. Dieser
Ansatz funktioniert zwar, ist allerdings nicht flexibel.
- Erstelle eine ausführbare Klasse, welche mehrere Objekte der Klasse
Studenterzeugt und versucht, diese Objekten der KlasseFilteredAdultListbzw.FilteredTeenListhinzuzufügen - Erstelle die Klasse
FilteredStudentsanhand des abgebildeten Klassendiagramms - Passe die ausführbare Klasse so an, dass nur noch die Klasse
FilteredStudentsverwendet wird und übergib dem Konstruktor das Prädikat jeweils in Form eines Lambda-Ausdrucks
Klassendiagramm
Hinweise zur Klasse FilteredStudents
- Der Konstruktor soll alle Attribute initialisieren
- Die Methode
void add(student: Student)soll der Studentenliste den eingehenden Studenten hinzufügen. Vor dem Hinzufügen soll mit Hilfe des Filters überprüft werden, ob der eingehende Student hinzugefügt werden soll - Methode
void printStudent()soll alle Studenten auf der Konsole ausgeben
- Exercise
- Solution
- Pull Request
git switch exercises/lambdas/02
git switch solutions/lambdas/02
Alle Änderungen zwischen der Aufgabe und der Lösung findest du im Pull Request PR#68