![]() |
Delphi objektorientiert?
Hallo,
ich habe mal eine grundsätzliche Frage. Seit wann ist Pascal objektorientiert? Denn ich dachte bis jetzt, dass es sich um eine rein prozedurale Programmiersprache handelt. Ich habe vor einiger Zeit mit Turbo Pascal und dann mit Delphi programmiert. Als ich dann mit JAVA, C# usw. begann, fielen mir sofort die Unterschiede zu Delphi auf und ich hörte eben auch, dass Pascal prozedural sei. Ist dies seit Object-Pascal vorbei und ist Delphi .NET eigentlich objektorientiert? Desweiteren frage ich mich, ob mit der Objektorientierung nicht jede Menge Dinge neu konzeptioniert werden mussten, im Gegensatz zur Benutzung prozeduraler Sprachen?! Ich hoffe, ihr könnt mir ein wenig weiterhelfen. |
Re: Delphi objektorientiert?
Soweit ich weiß, kann man seit TurboPascal 5.5objektorientiert programmieren.
Und Object-Pascal ist die Sprache "Delphi", ist nur ein anderer Name ;) Delphi ist natürlich objektorientiert, genau wie Delphi.NET. Delphi.NET schon allein deswegen, weil das .NET-Framework eigentlich komplett objektorientiert ist. Delphi.NET ist von der Logik, die dahintersteckt eigentlich genau das gleiche wie C# ;) |
Re: Delphi objektorientiert?
Naja, also soweit ist ne Prozedurale Sprache ja auch nicht von einer Objektorientierten weg...
Zu ObjectPascal. Wie der Name schon sagt heisst es so, seit "Object" eingeführt wurde, der Vorläufer einer Klasse. Von daher würde ich sagen: Ja, ObjectPascal war schon "immer" objectorientiert. Nein, das Ur-Pascal von Wirth war/ist nicht objektorientiert. TurboPascal als "IDE" wurde glaub ich erst mit der Entwicklung von ObjectPascal auf den Markt geworfen (Stimmt das?) und ist damit auch "schon immer" objektorientiert. Edit: OK, stimmt wohl nicht :) Allerdings gab es Unterschiede zwischen object und class...die weiss ich aber nicht auswendig :) Delphi ist es in jedem Fall. .Net kenne ich nicht... |
Re: Delphi objektorientiert?
Schaue dir mal eine normale Formulardatei an. Was fällt dir an der Deklaration auf? ;)
btw: Delphi ist halb objektorientiert, halb prozedural. Es ist auch ein ziemlicher PITA darin rein OO zu programmieren. Aber den Namen Object-Pascal hat es schon aus gutem Grund getragen. ;) (Nennt sich ja seit D7/D6 nur noch ... Delphi) |
Re: Delphi objektorientiert?
Zitat:
Vielleicht ist auch der ![]() |
Re: Delphi objektorientiert?
Hi,
das Problem ist, dass es viele Sprachen vor dem großen run auf die OOP gab. Und Objekt Orientierung gibt es halt auch schon ein ganzes Weilchen länger als viele glauben. Jedenfalls kannst du in Delphi (ähnlich wie in C++) sowohl prozedural als auch Objekt Orientiert arbeiten. Aber streng genommen ist es damit natürlich keine reine Objekt Orientierte Sprache. Selbes gilt aber auch für Java. Hier geht die Objekt Orientierung zwar deutlich weiter, aber primitive Datentypen sind kein Objekt (z.B. byte, int, float, double, ....). Auch Enumerations sind es denke ich nicht. Wenn du also Java mit z.B. SmallTalk vergleichst, dann wirst du auch Java als nicht streng OO einstufen können (aber man müsste schon eher kleinlich sein :-D) Gruß Der Unwissende |
Re: Delphi objektorientiert?
Außerdem ist objektorientierte Programmierung nur eine spezielle Form der prozeduralen Programmierung.
Man kann auch mit C objektorientiert programmieren. Nur muss man halt Dinge, die beispielsweise bei C++ der Compiler übernimmt, selbst erledigen. Das Konzept ist aber das gleiche. |
Re: Delphi objektorientiert?
Hallo!
Es ist sicher, das seit Turbo-Pascal 5.5 objektorientiertes Programmieren möglich ist. Unfangreiche Objektbibliotheken, von Beispielen abgesehen werden seit Turbo-Pascal 6.0 mitgeleifert. Bis Turbo- Pascal7.0 waren die Objekte binär anders aufgebaut, als die heutigen Klassen, was auch im Typ Object zum Ausdruck kam.
Delphi-Quellcode:
Es gab keine Properties
type
TTP5bis7Object = object Datenfeld1: Typ; ..... DatenfeldN: Typ; Methode1; .... MethodeN(parameter:Typ[;parameter:Typ...]); end;
Delphi-Quellcode:
Wie heute altbekannt!
type
TDelphiObject = class //seit Delphi 1.0 end; Die Objekte im alten Stil versteht Delphi aber immer noch und hat sie sogar soweit erweitert,das man ebenso alle bekannten Schutzklassen und auch Properties dabei wie bei den Klassen verwenden kann. Ist trotzdem nur für Kompatibilitätszwecke gedacht, zumal die VCL im Klassenmodell erstellt ist. Schöni |
Re: Delphi objektorientiert?
Sehr interessant! Danke, dann weiß ich es ab heute besser.
|
Re: Delphi objektorientiert?
Eine Klasse ist außerdem ein Pointer auf ein object, ich denke, das ist der Unterschied. Wenn ich nicht recht habe, dürft ihr mich jetzt hauen. (virtuell)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz