Hi,Zitat von Superhirn
es gibt 500-Seiten-Bücher, die diese Frage zu beantworten versuchen. Ich versuch es jetzt mal vereinfacht in ein paar Sätzen
Dazu vielleicht erstmal, was nicht objektorientiert ist:
Bei nicht objektorientierten (sprich: prozeduralem) Programmieren hast Du im
wesentlichen zwei Dinge: Daten und Funktionen
Die Funktionen rufen sich gegenseitig auf und übergeben sich dabei Daten.
Daneben gibt es noch globale Variablen, auf die immer zugegriffen werden darf.
Einfach gesagt: die Variable weiß was, die Funktion kann was
Das gibt vor allem bei großen Projekten ein Problem: Wie komme ich in dem Wald von tausenden Funktionen noch zurecht? und Welche Daten oder Teile einer Datenstruktur darf ich zwischen zwei Funktionsaufrufen ändern und welche sollten nur durch spezielle Funktionen geändert werden? oder auch Mit welchen Funktionen kann ich welche Datenstrukturen bearbeiten?
Die Lösung dafür ist objektorientiertes Programmieren:
Zusammengehörige Funktionen werden mit den Daten, die sie haben müssen,
zu einer Klasse zusammengefasst. Eine Klasse ist also eine Datenstruktur und
zugleich die Funktionen, um mit ihr zu arbeiten.
So, wie man aus einer Struktur beliebig viele Variablen erzeugen kann, kann man
aus der Klasse Objekte erzeugen.
oder kurz: das Objekt weiß etwas (hochtrabend: "es hat einen internen Zustand") und es kann etwas
Lange Rede, kaum ein Sinn:
Für Mikrocontroller ist C die bessere Wahl (denn da hast Du nicht hunderte von
Funktionen). Und wenn Du dann doch C++ lernen willst, dann musst Du eh C als
Grundwissen können - insofern ist dann auch die Zeit für's Lernen nicht vergeudet.
Lesezeichen