Worin unterscheidet sich objektorientierte Programmierung von der nicht objektorientierten?

4 Antworten

Dies sind zwei unterschiedliche, aber sich zum Teil ergänzende Progrmmiertypen. Um dies genauer zu verstehen, benötigst du etwas Programmiererfahrung. Zu Beginn lernt der Einsteiger in der Regel das so genannte prozeduale Programmieren. Dies bedeutet grob, dass der Programmcode (mit Ausnahmen) Zeile für Zeile abgearbeitet wird. Die objektorientierte Programmierung nutzt so genannte Objekte, die beispielsweise Methoden oder / und Eigenschaften haben, mit denen man in der Programmierung auch komplexere Aufgaben erledigen kann, die mit prozedualem Programmieren nur schwer oder gar nicht erledigen kann. Ein anschauliches Beispiel wäre: das Objekt "Fahrzeug" kann ein PKW, LKW oder Traktor sein, die Methoden könnten hierbei "langsam fahren" oder "schnell fahren" sein, Eigenschaften könnten "Farben" oder "Motor" sein.

Die Programmiersprache C ist normalerweise prozedual, es gibt aber die objektorientierte Erweiterung C++, in der Regel wird die Kompination C/C++ verrwendet. Andere Sprachen wie Java oder Python haben beide Programmiertypen vereint.

Wie gesagt: besser verständlich wird dies mit ein wenig Programmiererfahrung...

Woher ich das weiß:Berufserfahrung

Objektorientert ist eine Paradigma, die Funktionen und die dazu gehörende Daten in Einheit bringt. Diese Einheiten sind Objekte.

Es gibt auch andere Paradigmen wie prozedurale (wie C), funktionale (wie Haskell und F#) und logisch (wie Prolog).

Johnomaillerio 
Fragesteller
 31.10.2021, 15:01

Ich verstehe nur Bahnhof

0

In verständlicher Weise ist der Unterschied Leuten, die noch nie programmiert haben, wohl gar nicht zu erklären.

Komplett verstehen wird den Unterschied nur jemand, der

  • zunächst eine Programmiersprache genutzt hat, die auch heute noch keinerlei Unterstützung für Objektorientierung enthält (z.B. die Sprache C)
  • und später eine, in der man gar nicht anders kann als objektorientiert zu programmieren (Java etwa).

Wichtige Charakteristika einer objektorientierten Sprache erklärt recht gut die Seite https://de.wikipedia.org/wiki/Objektorientierte_Programmierung .

Die Mehrzahl aller heute genutzten Programmiersprachen enthalten Unterstützung von Objektorientierung, zwingen uns aber nicht, ausschließlich objektorientiert zu programmieren.

Probiere doch mal eine nicht objektorientierte Programmiersprache aus, dann wirst du den Unterschied ganz schnell merken. Zum Beispiel Prolog. Ich programmiere schon lange C++ und komme mit anderen objektorientierten Sprachen schnell zurecht, aber Prolog ist ganz anders, da muss man quasi das Programmieren von Grund auf neu erlernen.

Johnomaillerio 
Fragesteller
 29.10.2021, 19:51

Das es anders ist kann sich denke ich jeder denken. Aber es bleibt die Frage in wiefern sich das ganze unterscheidet? Deine Antwort hilft mir nicht

0