30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

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.

9. Klassen <strong>in</strong> <strong>C++</strong><br />

Nachdem nun zum<strong>in</strong>dest <strong>in</strong> der Theorie bekannt ist, was wir von Klassen<br />

und Objekten erwarten, wird es Zeit zu zeigen, wie diese Konzepte <strong>in</strong> C ++<br />

umgesetzt s<strong>in</strong>d.<br />

Vorsicht Falle: Obwohl ich noch nicht e<strong>in</strong>mal begonnen habe, die technischen<br />

Details von Klassen zu besprechen, möchte ich schon den ersten H<strong>in</strong>weis<br />

auf die gefährlichste Falle überhaupt geben, die sich C ++ Neul<strong>in</strong>gen auftut.<br />

Leider zeigt die Erfahrung, dass sehr viele Entwickler nur Teile der Konzepte<br />

ver<strong>in</strong>nerlicht haben, die C ++ bietet. Speziellere Konstrukte werden als<br />

“das brauche ich nicht” abgetan und e<strong>in</strong>fach ignoriert. Nur e<strong>in</strong>es von vielen<br />

typischen Beispielen für dieses Problem ist das Ignorieren der Existenz<br />

von virtual Ableitungen, zu denen wir später noch kommen werden, mit<br />

entsprechend absolut fatalen Folgen.<br />

Die große Gefahr dabei, die sogenannten Spezialitäten zu ignorieren, ist,<br />

dass dadurch oftmals Code entsteht, der aus technischen Gründen später wieder<br />

gravierend geändert oder sogar vollständig verworfen werden muss. Prom<strong>in</strong>ente<br />

Vertreter von kommerziell ausgelieferten Libraries, bei denen solche<br />

Pannen passiert s<strong>in</strong>d, gibt es e<strong>in</strong>ige, allerd<strong>in</strong>gs möchte ich hier ke<strong>in</strong>en davon<br />

namentlich nennen. Es genügt, zu wissen, dass es von praktisch allen wirklich<br />

großen Herstellern von Software und Entwicklungsumgebungen solche<br />

Wunderwerke gab und, leider muss man auch das sagen, immer noch gibt.<br />

Ich möchte also alle Leser ausdrücklichst bitten, alle <strong>in</strong> der Folge vorgestellten<br />

Konstrukte wirklich genauestens anzusehen und auch zu begreifen.<br />

Erst wenn man wirklich den S<strong>in</strong>n h<strong>in</strong>ter allem verstanden hat, ist man<br />

<strong>in</strong> der Lage, echtes C ++ zu schreiben, ohne <strong>in</strong> technische Fallen zu stolpern!<br />

Man kann nicht nur im Design vieles falsch machen, auch <strong>in</strong> der Umsetzung<br />

lauern noch mannigfaltige Gefahren!!!<br />

Um nun niemanden zu entmutigen: Es ist absolut erwünscht und sehr<br />

wichtig, sich mit allem e<strong>in</strong>mal zu spielen und entsprechende Fehler zu machen.<br />

Aus Fehlern lernt man (manchmal sogar nur aus Fehlern). Solche Fehler<br />

sollen allerd<strong>in</strong>gs im Rahmen der Lern- und Spielphase passieren und nicht<br />

bei ernsthaften Projekten!

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!