Suchen

Implementierung

Nutzen Sie die Macht der Sprache

Seite: 3/3

Firma zum Thema

Natürlich läuft der gleiche Code auch ohne const. Er braucht dann jedoch mehr Ressourcen. Mit neuen Sprachelementen wie override können wir ausdrücken, dass eine geerbte Funktion überschrieben werden soll. Leider ist dieses Schlüsselwort erst spät zu C++ hinzugekommen. Diesem Umstand ist die gewöhnungsbedürftige Semantik geschuldet.

Die Verwendung von override ist optional. Wir können bisher Funktionen, die virtual sind, einfach überschreiben. Der Gewinn liegt in der neuen Ausdrucksmöglichkeit. Programmierer können nun ausdrücken, dass genau diese Funktion überschrieben werden soll.

Sie erwarten, dass die Funktion in der Vererbungshierarchie existiert. Jetzt sehen Kollegen, dass die Funktion aus einer Basisklasse kommt, sogar kommen muss. Als weiteres Plus unterstützt der Compiler und weist darauf hin, wenn keine solche Funktion in der Hierarchie existiert.

Ohne override würde er die Funktion, als neue eigenständige Funktion, anlegen. Erst bei einer Fehlersuche wäre mühsam herauszufinden, warum sich die Funktion ganz anders verhält, als gedacht. Vielleicht wird sie sogar nie aufgerufen.

Aussagekräftiger und klarer Code ist ein hohes Gut. Abgesehen vom Compiler und Wartung, gibt es Kollegen, die mit dem Code arbeiten. Sie verwenden Funktionen oder Klassen, die andere bereitgestellt haben.

Bereits 1993 schrieb Robert Murray in C++ Strategies and Tactics: „If you use object-oriented technology, you can take any class someone else wrote, and by using it as a base class, refine it to do a similar task. [3]“

Behalten Sie diesen Satz immer im Hinterkopf. Die Natur von C++ ermöglicht es auf einfache Art und Weise Funktionen oder Klassen weiter zu nutzen. Mittels override und final können wir sehr gezielt entscheiden, wann die Vererbungsmöglichkeit enden soll.

Diese Entscheidung können wir sowohl auf Funktions- als auch Klassenebene treffen. Eine Programmiersprache dient zu mehr als nur der Lösung eines Problems. Sie ist zugleich Dokumentation und Kommunikation.

Neben dem Compiler wird sie auch von Menschen gelesen. Darum gilt: das Auge liest mit. Nutzen Sie die Sprachmittel, um ihrem Code mehr Klarheit zu geben. Schützen Sie ihn gegen ungewollten Einsatz.

Literatur- und Quellenverzeichnis

[1] Spinger Gabler, Programmiersprache,

[2] Duden, Sprache,

[3] Murray, Robert B., C++ Strategies and Tactics, 1993

* Andreas Fertig ist als Softwareentwickler mit Schwerpunkt eingebettete Systeme tätig. Er verfügt über fundierte praktische und theoretische Kenntnisse von C++ auf verschiedenen Betriebssystemen. Nebenbei arbeitet er als Dozent und entwickelt verschiedene Mac OS X Anwendungen. Kontakt: (https://www.andreasfertig.info)

(ID:44600231)