Mehr über Zugriffsschutz

Wozu das Ganze?

Wir haben uns diese Frage schon früher gestellt, können aber jetzt, da wir ein wenig Erfahrung gesammelt haben, eine wesentlich bessere Antwort geben. Zugriffsschutz schützt die Daten — wie der Name schon sagt — vor irrtümlicher Änderung, und Konstruktoren stellen sicher, daß alle Elemente initialisiert werden. Beide verhindern Fehler, die wir gerne machen. Während wir eine Klasse schreiben, beschäftigen wir uns nur mit den Interna der Klasse, später, wenn wir die Klasse dann wirklich anwenden, brauchen wir uns um die interne Struktur der Klasse oder ihrer Methoden nicht mehr zu kümmern und können uns auf die Lösung des Problems konzentrieren. Natürlich gibt es noch viel über die Verwendung und die Vorteile von Klassen zu sagen und zu lernen, weshalb wir uns auch gleich einigen neuen Aspekten widmen wollen.

Ziel dieses Kapitels ist es, zu illustrieren, wie einige der traditionellen Aspekte von C/C++ mit Klassen und Objekten verwendet werden. Wir werden über Zeiger auf ein Objekt und Zeiger innerhalb eines Objektes sprechen, von Arrays, die in einem Objekt liegen und Arrays von Objekten. Da Objekte nur ein weiteres "Datenkonstrukt" in C++ sind, ist all das vorher Genannte möglich und kann verwendet werden, wenn der Bedarf besteht.

Um das ganze zumindest ein bißchen systematisch zu gestalten, werden wir das Programm BOXEN1.CPP als Ausgangspunkt nehmen und mit jedem Beispielprogramm einige wenige neue Konstrukte hinzufügen. Du erinnerst Dich sicherlich, daß es sich bei BOXEN1.CPP um ein sehr einfaches Programm gehandelt hat, mit der Definition der Klasse, der Implementation derselben und dem Hauptprogramm in einer einzelnen Datei. Wir nehmen diese Datei als Basis, weil wir nach und nach alle Teile des Programmes ändern werden und es daher anschaulicher ist, all das in einer einzigen Datei zu haben. Es sollte aber klar sein, daß es richtiger wäre, die Teile auf drei verschiedene Dateien aufzuteilen, wie wir es mit BOX.H, BOX.CPP und BOXEN2.CPP im vorigen Kapitel gezeigt haben. Das erlaubt es der Autorin von Box, der Programmiererin nur die Schnittstelle, BOX.H, zur Verfügung zu stellen. Wie wir schon des öfteren festgestellt haben, erscheint es eigentümlich, so kleine Programme auf drei Dateien aufzuteilen und das ist es ja auch. Das letzte Kapitel dieser Einführung wird ein Programm vorstellen, das diese Aufteilung auch rechtfertigt.

(weiter...)

[ Es ]