Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
Schrödinger programmiert Java - Das etwas andere Fachbuch
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Und noch ein kleines Programm, um den Tester zu testen:<br />
SovieleSchuheHastDuSchonTester testerMitAnzahl = new SchuhTesterMitMap<br />
(new ArrayList(), new HashMap());<br />
testerMitAnzahl.addSchuhPaar(new SchuhPaar(39, "schwarz", true));*1<br />
testerMitAnzahl.addSchuhPaar(new SchuhPaar(39, "schwarz", true));*1<br />
testerMitAnzahl.addSchuhPaar(new SchuhPaar(39, "schwarz", true));*1<br />
testerMitAnzahl.addSchuhPaar(new SchuhPaar(39, "schwarz", true));*1<br />
StringBuilder meldung = new StringBuilder();<br />
meldung.append(testerMitAnzahl.hastDuSchon(gleichesSchuhPaar)<br />
? gleichesSchuhPaar + " hast du schon"<br />
: gleichesSchuhPaar + " hast du noch nicht");*2<br />
meldung.append(", und zwar schon " + testerMitAnzahl.sovieleHastDuSchon<br />
(gleichesSchuhPaar) + " Stück");*3<br />
System.out.println(meldung.toString());<br />
Ausgabe:<br />
*2 <strong>Das</strong> konnten<br />
auch die <strong>andere</strong>n<br />
Tester, …<br />
*1 Echt gar nicht<br />
so unrealistisch: viermal<br />
die gleichen Schuhe.<br />
*3 … das aber nur<br />
der neue: die Anzahl der<br />
gleichen Schuhpaare<br />
ausgeben.<br />
39 schwarz mit Stöckeln hast du schon, und zwar schon 4 Stück<br />
<strong>Das</strong> ist so ol! <strong>Das</strong> gibt mir schlagkräftige Argumente<br />
beim nächsten Schuhkauf! Noch besser wäre es natürlich, wenn das<br />
Programm den Einkauf gleich verhindern könnte!<br />
<strong>Das</strong> kannst du doch schon selbst!<br />
[Einfache Aufgabe]<br />
Implementiere einen Schuhtester, der nicht mehr als x gleiche Schuhpaare erlaubt.<br />
public class MehrSchuheSindNichtErlaubtTester extends SchuhTesterMitMap*1 {<br />
private int maximum;*2<br />
public MehrSchuheSindNichtErlaubtTester(Collection schuhKollektion,<br />
Map schuhMappe, int maximum*3) {<br />
super(schuhKollektion, schuhMappe);<br />
*1 Wiederverwendung ist das Stichwort.<br />
this.maximum = maximum;<br />
<strong>Das</strong> Wichtigste ist doch schon im<br />
SchuhTesterMitMap implementiert.<br />
}<br />
@Override<br />
*2 Nur noch das Maximum an erlaubten<br />
gleichen Schuhen in einer<br />
public void addSchuhPaar(SchuhPaar schuhe)*4 {<br />
Objektvariablen verwalten, …<br />
if(super.sovieleHastDuSchon(schuhe) < this.maximum) {*6<br />
super.addSchuhPaar(schuhe);*5<br />
} else {<br />
System.err.println("Du hast schon " + this.maximum + " solcher Schuhe.");<br />
}<br />
}<br />
}<br />
344 Kapitel ACHT<br />
*3 ... die über den<br />
Konstruktor gesetzt<br />
werden kann, …<br />
*4 … und dann noch<br />
addSchuhPaar()<br />
überschreiben:<br />
*5 Neue Schuhpaare<br />
werden nur hinzugefügt,<br />
…<br />
*6 … wenn das<br />
erlaubte Maximum<br />
noch nicht erreicht ist.