Was bedeutet objektorientiertes programmieren in Java?

... komplette Frage anzeigen

1 Antwort

Jedes vor 1980 entstandene Programm war 

  • eine Menge von Variablen, deren jede man auffassen konnte als Speicherplatz für genaue eine Zahl oder genau ein Zeichen (Byte).
  • ergänzt um eine Funktionen, die Zugriff auf alle die Variablen hatten.

Nennen wir das ein klassisches Programm.

Ein objektorientiertes Programm ist 

  • eine Menge von Klassen, deren jede Objekte gleichen Typs beschreibt.
  • Jedes Objekt in diesem Sinne ist ein klassisches Programm dahingegend verallgemeinert, dass seine Variablen als Wert nicht nur je eine Zahl oder je ein Zeichen enthalten können, sondern stattdessen sogar ein ganzes Objekt.
  • Anders als klassische Programme lassen solche Objekte sich auch dynamisch erzeugen.
  • Da es oft vorkommt, dass man eine Klasse N braucht, die sich nur leicht von einer schon vorhandenen Klasse V unterscheidet, gibt es ein sog. Vererbungsprinzip, was bedeutet: Man definiert N, indem man sagt, N sei wie V abgesehen von gewissen Ausnahmen, die man dann genau zu spezifizieren hat.

Damit man mit Klassen hinreichend einfach umgehen kann, wurden viele klassische Programmiersprachen erweitert mit dem Ziel, mit ihrer Hilfe nicht nur klassische, sondern auch objektorientierte Programme schreiben zu können. Auf diese Weise entstand z.B. aus C die Sprache C++.

Java ist ein Sprache, die sich insofern auszeichnet, als sie 

  • nur noch objektorientierte Programme zu schreiben gestattet
  • und alle in den ca. 25 Jahren vor ihrem Entstehen gemachten positiven und negativen Erfahrungen mit objektorientierten Ansätzen berücksichtigt: 
  • Java ist sozusagen die optimale objektorientierte Programmiersprache.  
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ReiInDerTube123
16.02.2016, 20:45

ehm Ja, find ich eigentlich sehr ausführlich.

Aber dein Fazit, dass "Java ist sozusagen die optimale objektorientierte Programmiersprache." find ich kann man nicht unbedingt so stehen lassen. Sie zeichnet sich zwar dadurch aus, dass man mit ihr ausschließlich objektorientiert programmieren kann, jedoch würde ich dadurch nicht sagen, dass es dadurch die "Optimale" ist.

Beispielsweise bei C++ gibt es auch für Klassen etwas sehr einzigartiges. Und das sind die Pointer. Außerdem könnte man bei C++ oder auch anderen objektorientierten Sprachen, fast ausschließlich objektorieniert arbeiten. Der Unterschied wäre dann nur, dass die "main" Funktion bei Java auch selbst noch in einer Klasse steht.

0

Was möchtest Du wissen?