24.11.2013 Aufrufe

5 Objektorientiertes Design

5 Objektorientiertes Design

5 Objektorientiertes Design

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.

70 3 <strong>Objektorientiertes</strong> <strong>Design</strong><br />

Entwurf à la »Schnell-Finger«<br />

Herr »Schnell-Finger« überlegt nicht lange und startet sofort seine IDE. Während diese<br />

noch hochfährt, hat er bereits ein paar Ideen. Kaum ist das Editor-Fenster geöffnet, legt<br />

er los. Klingt alles recht einfach, also wird schnell die folgende Klasse erstellt:<br />

public class Counter<br />

{<br />

public int count = 0;<br />

}<br />

public Counter()<br />

{<br />

}<br />

So, nun ist er schon fertig. Die Variable count ist öffentlich, kann also von überall abgefragt<br />

und verändert werden. Rücksetzen erfolgt über eine Zuweisung von 0. Zufrieden<br />

speichert er die Klasse. Am nächsten Tag fragt der Kollege »User«, wie weit die<br />

Klasse Counter wäre, und bekommt die Antwort: »Längst fertig!« Der Kollege »User«<br />

schaut sich die Klasse an und sagt: »Naja, richtig objektorientiert ist das nicht. Es fehlt<br />

an Kapselung: Du veröffentlichst deine Attribute und bietest keine Zugriffsmethoden<br />

an.« Etwas verärgert über den pingeligen Kollegen macht sich Herr »Schnell-Finger«<br />

nochmal an die Arbeit und kommt nach kurzer Zeit zu folgender Umsetzung:<br />

public class Counter<br />

{<br />

public int count = 0;<br />

public Counter()<br />

{<br />

}<br />

public int getCounter()<br />

{<br />

return count;<br />

}<br />

}<br />

public void setCounter(int count)<br />

{<br />

count = count;<br />

}<br />

Die Klasse Counter ist laut Herrn »Schnell-Finger« nun einsatzbereit. Daher wollen<br />

wir diese nun zum Zählen von grafischen Figuren nutzen und schauen, wie sich diese<br />

Klasse in das zuvor vorgestellte Anwendungsgerüst an den durch TODO-Kommentare<br />

markierten Stellen einfügen lässt:<br />

// 2 Zähler initialisieren<br />

final Counter lineCounter = new Counter();<br />

final Counter rectCounter = new Counter();<br />

for (final GraphicObject graphicObject : graphicObjects)<br />

{<br />

graphicObject.draw();

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!