Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#38

Re: Delphi objektorientiert?

  Alt 29. Nov 2005, 17:38
Und ich dachte immer, objektorientiert heisst nur, das die Implementierung eines Problems nicht an einer klassischen API und dem Unitkonzept festgemacht wird, sondern an Objekten (woher kommt das 'orientiert' denn sonst?).

Ob denn Objekte nun Nachrichten austauschen, oder einfach nur Objekte mit Methoden und Eigenschaften sind, dürfte auch unerheblich sein. Und das ich mit einer OOP-Sprache nun keine Prozeduren programmieren kann, ist doch wohl auch Quatsch. Natürlich gibt es Sprachen, die das nicht erlauben, das heisst aber nicht, das die dann die OO-Eigenschaft für sich reserviert haben. Man sollte mal unterscheiden, zwischen Sprachen, die das OOP-Konzept auf die Spitze treiben, und denen, die noch andere Sprachkonstrukte anbieten. Wieso sollen denn nicht beide OO sein?

Und das Delphi deshalb nicht OO ist, weil es hier im Thread steht, ist ja wohl der größte Witz. Nicht, das ich was gegen die sehr fundierten Ausführungen sagen will, aber die Zugehörigkeit einer Programmiersprache zu einer Klasse macht sich nicht an den Aussagen Einzelner fest.

Letztendlich ist eh alles Prozedural, aber die Herangehens- oder Sichtweise (eben 'Objektorientiert', 'Prozedural' oder 'Serviceorientiert') ist unterschiedlich.

Wenn ich einem Objekt eine Nachricht schicken muss, damit sie sich um eins erhöht, dann ist das nur eine andere Sichtweise, als die Anweisung inc(i) . Einmal steht das Objekt im Mittelpunkt, zum Anderen der Befehl (die Prozedur).

Delphi als nicht-OO zu bezeichnen ist imho abwegig. Delphi ist OO, weil es mir die Möglichkeit bietet, OOP zu betreiben. Ich kann es aber auch lassen, oder mischen. Und das es andere Sprachen gibt, die die Vererbungsgeschichte noch besser implementieren, steht ja ausser Frage, aber ist ein alter Käfer den kein Auto, nur weil es Lexus, BMWs und Ferraris gibt? Ist ein Kadett-Cabrio kein Auto, weil ich es auch als Blumenbeet verwenden kann?

Zur Abwechslung mal ein Zitat vom Wiki:
Zitat:
Objektorientierte Programmierung (Abkürzung OOP) ist ein Verfahren zur Strukturierung von Computerprogrammen, bei dem zusammengehörige Daten und die darauf arbeitende Programmlogik zu Einheiten zusammengefasst werden, den so genannten Objekten.

Zumindest konzeptionell arbeitet ein Programm dann nicht mehr (wie bei der prozeduralen Programmierung) so, dass sequenziell einzelne Funktionsbereiche eines Algorithmus durchlaufen werden, die dabei eine Anzahl Daten verändern, sondern die Programmlogik entfaltet sich in der Kommunikation und den internen Zustandsveränderungen der Objekte, aus denen das Programm aufgebaut ist.
...
Also, vom Konzept her arbeiten Objekte miteinander, von 'Nachrichten' steht da nix. Nur von Kommunikation. Merke: Auch ein Prozeduraufruf ist eine Form der Kommunikation.

Richtig lustig wird der Abschnitt, der einige objektorientierte Sprachen auflistet. Nicht das Wiki der Weisheit letzter Schluss ist, aber der Artikel dürfte einigen Schlaumeiern hier die Luft aus den Segeln nehmen.

Schönen Abend noch.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat