Programmiermethoden-CampusMinden / Prog2-Lecture

Lecture "Programmieren 2"
https://www.hsbi.de/elearning/goto.php?target=crs_1352130&client_id=FH-Bielefeld
Creative Commons Attribution Share Alike 4.0 International
7 stars 5 forks source link

Konzeptaufgabe: Generics 1 #114

Closed AMatutat closed 2 years ago

AMatutat commented 2 years ago

Idee/Alte Aufgabe (die Vorgaben müsste man sich nochmal extra ziehen, aber vermutlich sollten wir das eh aufbrechen): Hier soll es nur um die Grundlagen gehen, also um Klassen & Methoden.

In dieser Aufgabe modellieren Sie in Java verschiedene Spielertypen sowie generische Mannschaften und Ligen, die jeweils bestimmte Spieler bzw. Mannschaften aufnehmen können. (je 2P)

a) Implementieren Sie die Klasse bundesliga.generic2.Spieler, die das Interface bundesliga.generic2.ISpieler aus den Vorgaben erfüllt.

b) Implementieren Sie die beiden Klassen bundesliga.generic2.{FussballSpieler,BasketballSpieler} und sorgen Sie dafür, dass beide Klassen vom Compiler als Spieler betrachtet werden (Vererbungshierarchie).

Der `FussballSpieler` kann mit der Methode `public void schiessTor()` ein Tor schießen und
erzielt damit einen Punkt.

Der `BasketballSpieler` kann mit der Methode `public void wirfKorb()` einen Korb werfen und
erzielt damit zwei Punkte.

c) Betrachten Sie das nicht-generische Interface bundesliga.polymorph.IMannschaft in den Vorgaben. Erstellen Sie daraus das generische Interface bundesliga.generic2.IMannschaft mit einer Typvariablen. Stellen Sie durch geeignete Beschränkung der Typvariablen sicher, dass nur Mannschaften mit von bundesliga.generic2.ISpieler abgeleiteten Spielern gebildet werden können.

d) Betrachten Sie das nicht-generische Interface bundesliga.polymorph.ILiga in den Vorgaben. Erstellen Sie daraus das generische Interface bundesliga.generic2.ILiga mit einer Typvariablen. Stellen Sie durch geeignete Beschränkung der Typvariablen sicher, dass nur Ligen mit von bundesliga.generic2.IMannschaft abgeleiteten Mannschaften angelegt werden können.

e) Leiten Sie von bundesliga.generic2.ILiga das generische Interface bundesliga.generic2.IBundesLiga ab. Stellen Sie durch geeignete Formulierung der Typvariablen sicher, dass nur Ligen mit Mannschaften angelegt werden können, deren Spieler vom Typ bundesliga.generic2.FussballSpieler (oder abgeleitet) sind.

AHeinisch commented 2 years ago

Wenn ich das richtig sehe sind die Teilaufgaben a,b für Klassen und Methoden. Alle danach folgenden sind eher für Bounds, Wildcards.

Wenn wirklich weg von Dem Fußball/Sport Thema könnte man Parkplatz/Parkbucht/Fortbewegungsmittel machen.

cagix commented 2 years ago

Wenn ich das richtig sehe sind die Teilaufgaben a,b für Klassen und Methoden. Alle danach folgenden sind eher für Bounds, Wildcards.

Wenn wirklich weg von Dem Fußball/Sport Thema könnte man Parkplatz/Parkbucht/Fortbewegungsmittel machen.

hmmm, man könnte beides festhalten. eines für die praktika und das andere für eine e-assessment-aufgabe :)

AMatutat commented 2 years ago

Alle danach folgenden sind eher für Bounds, Wildcards.

Siehst du richtig. Das wäre dann für #115

AHeinisch commented 2 years ago

Hier ist dann so weit alles abgearbeitet.

Also zu damit.