next up previous contents
Next: Vom information hiding zum Up: OOP mit ANSI-C Previous: Begriffe

OOP mit ANSI-C

ANSI-C ist wohl die am meisten verbreitete Programmiersprache. Sie ist zwar äußerst leistungsfähig, aber oftmals entpuppt sich C-Code als reichlich kryptisch. Hier soll nun der Versuch gemacht werden, einfache objektorientierte Techniken wie Datenabstraktion, Definition von Klassen und Objekten und Vererbung in C zu realisieren, um zu zeigen, daß OOP nicht auf objektorientierte Sprachen (wie z.B. Smalltalk, C++, Turbo Pascal, Oberon) beschränkt bleibt. Allerdings werden wir feststellen, daß dazu ein erheblicher Aufwand notwendig ist, so daß man in der Programmierpraxis kaum um die reinen (bzw. objektorientiert erweiterten) Sprachen herumkommen wird, da dort mit einfachsten Mitteln das erreicht werden kann, wozu wir hier mit C die kompliziertesten Zeigerkonstruktionen benötigen.

Wir wollen nun in mehreren Schritten, ausgehend vom normalen information hiding über erste objektorientierte Techniken bis hin zur Vererbung, am Beispiel einer Klasse STRING die Möglichkeiten der OOP in ANSI C demonstrieren. In puncto Datentypprüfungen u. ä. werden wir jedoch Abstriche machen müssen; diese Dinge sind ohne den Einsatz von Präcompilern oder Präprozessoren kaum (sinnvoll) zu verwirklichen, da wir fast überall den Datentyp void * verwenden müssen.





Christian Neher