15.09.2014 Aufrufe

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!