Hallo sehr geschätzte Computerbase Community,
in meinem Informatikstudium verstehe ich folgende Aufgabe nicht ganz:
Da ich leider nicht sonderlich gut in Java bin und zudem das Semester sich mehr um Grafiken und Abläufe als um Programmierung drehte, fällt es mir schwer die Aufgabe zu lösen. Es wäre echt cool, wenn ihr mir ein bisschen auf die Sprünge helfen könntet. Und ihr müsst mich schon fast als Java-DAU ansehen.
Z. B. die Zeile "package de.wwu.se;": Was bedeutet das genau? Wird ein Package aus dem Internet geladen oder wie? Inwiefern ist dieses relevant?
Zu a): Kennt jemand ein gutes UML Programm? Papyrus (in Eclipse) habe ich ausprobiert, aber komme damit nicht wirklich klar. Ansonsten würde ich Visio verwenden. Und handelt es sich hierbei um das Muster eines Dekorierers? Kennt jemand eine gute Seite, die die Strukturmuster gut erläutert? Denn in der Vorlesung kam das Thema doch etwas knapp und nicht sonderlich ausführlich vor.
Zu b): Wie überschreibt man die Methode toString? Und muss ich das für jede Unterscheidung (Und, oder sowie nicht) machen? Ich verstehe nicht ganz was b) bedeuten soll.
Zu c): Okay, das wäre dann also irgendeine main Methode zum Testen des Ganzen. Aber verstehe ich das richtig, dass ich dann die einzelnen Prädikate doch irgendwie implementieren muss, damit ich diese überhaupt testen kann?
Leider bin ich nicht sonderlich fit in Java... daher wäre ich um jeden Hinweis, weiterführenden Link oder Tipp sehr dankbar!
in meinem Informatikstudium verstehe ich folgende Aufgabe nicht ganz:
Mit Hilfe von Prädikaten können Sie Objekte auf bestimmte Eigenschaften prüfen oder
Mengen filtern. Prädikate lassen sich mit den booleschen Operatoren UND, ODER und
NICHT verknüpfen. Bitte gehen Sie davon aus, dass ein konkretes Prädikat folgende
Schnittstelle bereitstellt:
package de.wwu.se;
public interface Praedikat {
boolean istErfuellt(Object kandidat);}
Praedikat und(Praedikat anderes);
Praedikat oder(Praedikat anderes);
Praedikat nicht();
a) Um Prädikate mit den booleschen Operatoren darstellen zu können, verwenden Sie
bitte ein geeignetes Strukturmuster! Bitte benennen Sie das Strukturmuster
und erstellen Sie für den gegebenen Sachverhalt ein UML Klassendiagramm mit
dem Modellierungstool Papyrus oder einem UML Modellierungstool ihrer Wahl!
b) Implementieren Sie Java-Klassen für die Prädikate und überschreiben Sie dabei die
Methode public String toString() jeweils so, dass eine Beschreibung des
vorliegenden Prädikats erzeugt wird!
c) Schreiben Sie eine kurze Testmethode, die die von Ihnen implementierte Funktionalität testet! Dabei sollen Prädikate, die Strings auf bestimmte Eigenschaften
(bspw. Mindestlänge, ausschlieliche Verwendung von Zahlen, usw.) testen, erzeugt
werden. Bitte lassen Sie außerdem die Beschreibung der Prädikate ausgeben.
Da ich leider nicht sonderlich gut in Java bin und zudem das Semester sich mehr um Grafiken und Abläufe als um Programmierung drehte, fällt es mir schwer die Aufgabe zu lösen. Es wäre echt cool, wenn ihr mir ein bisschen auf die Sprünge helfen könntet. Und ihr müsst mich schon fast als Java-DAU ansehen.
Z. B. die Zeile "package de.wwu.se;": Was bedeutet das genau? Wird ein Package aus dem Internet geladen oder wie? Inwiefern ist dieses relevant?
Zu a): Kennt jemand ein gutes UML Programm? Papyrus (in Eclipse) habe ich ausprobiert, aber komme damit nicht wirklich klar. Ansonsten würde ich Visio verwenden. Und handelt es sich hierbei um das Muster eines Dekorierers? Kennt jemand eine gute Seite, die die Strukturmuster gut erläutert? Denn in der Vorlesung kam das Thema doch etwas knapp und nicht sonderlich ausführlich vor.
Zu b): Wie überschreibt man die Methode toString? Und muss ich das für jede Unterscheidung (Und, oder sowie nicht) machen? Ich verstehe nicht ganz was b) bedeuten soll.
Zu c): Okay, das wäre dann also irgendeine main Methode zum Testen des Ganzen. Aber verstehe ich das richtig, dass ich dann die einzelnen Prädikate doch irgendwie implementieren muss, damit ich diese überhaupt testen kann?
Leider bin ich nicht sonderlich fit in Java... daher wäre ich um jeden Hinweis, weiterführenden Link oder Tipp sehr dankbar!

