12.07.2015 Aufrufe

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

16 KAPITEL 1. PROGRAMMIEREN IN C/<strong>C++</strong>zustellen, ähnlich wie heutzutage Autos produziert wer<strong>de</strong>n. ZweiSchlagwörter kamen auf: Objektorientierung und SoftwareEng<strong>in</strong>eer<strong>in</strong>g. Entklei<strong>de</strong>t man sie <strong>de</strong>r merkantilen Übertreibungen,bleibt immer noch e<strong>in</strong> brauchbarer Kern von I<strong>de</strong>en übrig.Der Typbegriff wur<strong>de</strong> zur Klasse erweitert. E<strong>in</strong>e Klasse enthältVariable und zugehörige Funktionen, die nun Metho<strong>de</strong>n genanntwer<strong>de</strong>n. Klassen können im Gegensatz zum Typ vom Programmierer<strong>de</strong>f<strong>in</strong>iert wer<strong>de</strong>n. Sie bil<strong>de</strong>n e<strong>in</strong>e Hierarchie, wobeihöhere Klassen Eigenschaften an niedrigere vererben. Klassenhaben e<strong>in</strong>e genau <strong>de</strong>f<strong>in</strong>ierte Schnittstelle (Interface) zum Rest<strong>de</strong>s Programms, ihr Innenleben bleibt verborgen. Was sie tun, istbekannt, wie sie es tun, geht nieman<strong>de</strong>n etwas an. Diese scharfeTrennung von Innen und Außen ist wesentlich für <strong>de</strong>n Klassenbegriff.Was für C Funktionsbibliotheken s<strong>in</strong>d, das s<strong>in</strong>d für<strong>C++</strong> Klassenbibliotheken. Die Programmierarbeit besteht zu e<strong>in</strong>emgroßen Teil im Schreiben von Klassen. Wie e<strong>in</strong>e Variable dieVerwirklichung (Realisierung, Instantiierung) e<strong>in</strong>es Typs ist, soist e<strong>in</strong> Objekt e<strong>in</strong>e Instanz e<strong>in</strong>er Klasse. Von e<strong>in</strong>er Klasse könnenbeliebig viele Objekte abgeleitet wer<strong>de</strong>n. Klassen und <strong>de</strong>renObjekte s<strong>in</strong>d die Bauste<strong>in</strong>e e<strong>in</strong>es objektorientierten Programms.<strong>C++</strong> hieß anfangs C mit Klassen.Neben <strong>C++</strong> ist e<strong>in</strong>e zweite objektorientierte Erweiterung vonC entstan<strong>de</strong>n, die unter <strong>de</strong>m Namen Objective C <strong>in</strong> Verb<strong>in</strong>dungmit <strong>de</strong>m Betriebssystem NeXT e<strong>in</strong>e gewisse Verbreitunggefun<strong>de</strong>n hat. Der GNU-C-Compiler unterstützt sowohl <strong>C++</strong> wieObjective C, ansonsten ist es ziemlich still gewor<strong>de</strong>n um dieseSprache.Es kommen noch e<strong>in</strong> paar D<strong>in</strong>ge h<strong>in</strong>zu, um das Programmierenzu erleichtern, aber das Wesentliche am objektorientiertenProgrammieren ist, dass die Aufgabe nicht mehr <strong>in</strong> Module zerlegtwird, die aus Anweisungen bestehen, son<strong>de</strong>rn <strong>in</strong> vone<strong>in</strong>an<strong>de</strong>runabhängige Objekte, die sich Mitteilungen o<strong>de</strong>r Botschaftenschicken. Die Objektorientierung setzt bei <strong>de</strong>r Aufgabenanalysee<strong>in</strong>, nicht erst bei <strong>de</strong>r Umsetzung <strong>in</strong> e<strong>in</strong>e Programmiersprache(Codierung).Wie verhält sich <strong>C++</strong> zu C? Manche sagen, dass <strong>C++</strong> e<strong>in</strong>eneue, von C völlig unabhängige Sprache sei. An<strong>de</strong>re wie<strong>de</strong>rumbetrachten <strong>C++</strong> als e<strong>in</strong>e umfangreiche Erweiterung von C. Aufje<strong>de</strong>n Fall s<strong>in</strong>d die Kenntnisse, die man beim Lernen von C erworbenhat, auch <strong>in</strong> <strong>C++</strong> nützlich und ke<strong>in</strong>esfalls überholt. <strong>C++</strong>-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!