Vorteile Objektorientiert?

Hallo,

wo sind die genauen Vorteile der Objektorientierung gegenüber der prozeduralen Programmierung??

Zum einen (denk ich mal) die Modularisierung, d.h. die Wiederverwendbarkeit des Quellcodes.

Welche der folgenden Sprachen sind OO??

  • Delphi
  • .NET

Hallo Axl,

wo sind die genauen Vorteile der Objektorientierung gegenüber
der prozeduralen Programmierung??

Zum einen (denk ich mal) die Modularisierung, d.h. die
Wiederverwendbarkeit des Quellcodes.

Das ist Stoff für ganze Lehrbücher, daher fange ich lieber mit der Erklärung der Vorzüge garnicht erst an, ich müsste i.A. ja immer ein Beispiel dazu liefern - aber jeder ist verrückt, der OO nicht benutzt, wenn er mehr programmiert als Küchenherde.

Welche der folgenden Sprachen sind OO??

  • Delphi
  • .NET

Auch hallo.

Einige Info’s möchte ich auch noch geben:
Das Wissen um prozedurale Sprachen ist auch heute noch nicht so veraltet, dass man es schon vergessen müsste (COBOL). Aber gegenüber den linear ablaufenden Programmiersprachen haben die OO-Sprachen einige Vorteile, die der Vorposter schon genannt hatte. Und Nachteile, denn OO-Sprachen sind ohne richtiges Fundament bei den Prozeduralsprachen schwerer zu erlernen.
Eine objektorientierte Sprache erkennt man u.a. dem Umstand, dass Klassen gebildet werden können (aber nicht müssen: C++)
.NET (sprich: dot net)ist übrigens eine Laufzeitumgebung auf M$ Windows Basis. Wird vorrangig von C# (sprich: c sharp) und VB .NET verwendet, Visual Basic mit .NET Routinen. Ist so was wie Java, nur anders :wink:

HTH
mfg M.L.

Buchtipp
Hallo,

wo sind die genauen Vorteile der Objektorientierung gegenüber
der prozeduralen Programmierung??

Ein klasse Buch dazu ist „Object Oriented Software Construction“ von Bertrand Meyer.

Grüße,
Moritz

Hallo Axl,

Das ist Stoff für ganze Lehrbücher, daher fange ich lieber mit
der Erklärung der Vorzüge garnicht erst an, ich müsste i.A. ja
immer ein Beispiel dazu liefern - aber jeder ist verrückt, der
OO nicht benutzt, wenn er mehr programmiert als Küchenherde.

Wobei ganz wichtig ist zu bemerken: Die Verwendung einer objektorientierten Programmiersprache heißt nicht automatisch, dass auch objektorientiert programmiert wird.

Gruß, Manfred

hallo,

interessant. wie ist das jetz zb. mit VB? man kann doch VB sowohl prozeduarl als auch oo programmierewn, oder?? wie merk ich den unterschied :wink:
wenn man module erstellt, ist das schon oo??

axl

Hi axl,

Das OO Konzept setzt auf dem prozeduralen Konzept auf. Es ist mehr als das. Alle OO Sprachen, die ich kenne erlauben natürlich auch (mehr oder weniger) rein prozedurale Lösungen oder wenigstens einen Mischmasch. In der Tat ist eine OO Lösung nicht für alle Probleme das Beste. Manches (allerdings nicht allso vieles) läßt sich prozedural einfacher und schlellen und, ja, auch eleganter lösen.

Den Unterschied merkst du an der Verwendung von OBJEKTEN. Ein Objekt ist ein programmiertechnisches Konstrukt, welches sowohl Daten als auch Code „besitzt“. Objekte sind Instanzen von sog. Klassen, die eben ganz speziell definieren was für Daten und was für Code die Objekte ausmacht. Objekte (bzw. Klassen) sind KEINE Module (bze. umgekehr: Module sind KEINE Klassen).

Um einer Verwirrung um die Begriffe Klasse und Objekt vorzubeugen diese Aussage: Ich bin ein Objekt vom Typ „Mensch“, also eine Instanz der Klasse „Mensch“. Die Klasse „Mensch“ hat ganz bestimmte Eigenschaften (zwei Beine, einen Kopf, Blutdruck, Augen, Stoffwechsel, …). Die Summe aller dieser Eigenschaften definiert die Klasse „Mensch“. Ich als Instanz dieser Klasse habe alle diese Eigenschaften, die für mich ganz zT spezielle Werte haben, zB. ist _mein_ Blutdruck gerade xy und meine Augen sind kurzsichtig usw usw.

Gruß and die anderen Instanzen meiner Klasse,
Jochen

1 Like