Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Klasse, Objekt, Unit --> Zusammenhang? (https://www.delphipraxis.net/155974-klasse-objekt-unit-zusammenhang.html)

hans ditter 15. Nov 2010 15:42

Klasse, Objekt, Unit --> Zusammenhang?
 
Hallo alle zusammen,

ich habe festgestellt, dass ich eigentlich gar nicht wirklich zwischen im Titel genannten Sachen unterscheiden kann.
Nun hab ich versucht mir das zu verdeutlichen. Hab nochmal mein dickes Delphibuch gewälzt, auch was gefunden, aber irgendwie so richtig klar ist mir das immer noch nicht.

Konktret versteh ich nicht...
1) ... wo der Zusammenhang / Unterschied zwischen (besonders) Klasse, Objekt (und Unit) ist.
2) ... wo der Vorteil einer Klasse bzw. eines Objekts liegt?

Vlt könnt ihr mir nochmal helfen, meine Begrifflichkeit dieser drei Wörter zu verbessern... ;)

Danke und liebe Grüße,
hans ditter

generic 15. Nov 2010 16:14

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Unit = Ablage Ort von Bauplänen (Mappe des Architekten)
Klasse = ein Bauplan (Baupläne vom Haus)
Objekt = ein Ding was nach einen Bauplan gebaut wurde (das Haus)

implementation 15. Nov 2010 16:26

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Eine Unit ist eine Quelltextdatei, in der viele Typen, Konstanten, Variablen, Routinen & Co. definiert sind:
Delphi-Quellcode:
unit MeineUnit;

interface

...
Eine Klasse ist ein selbst definierter Variablentyp, der auch Felder und Methoden besitzen kann.
Er ist in einer Unit deklariert.
Delphi-Quellcode:
type
  MeineKlasse = class
    ...
  end;

...
Ein Objekt ist nach allgemeiner Definition* eine Variable, deren Typ eine Klasse ist:
Delphi-Quellcode:
var
  MeinObjekt: MeineKlasse;

...

MeinObjekt := MeineKlasse.Create;
...
MeinObjekt.Free;
*) In Turbo Pascal gab's da noch sowas Klassenähnliches, das sich ebenfalls Objekt nannte, aber lass dich davon nicht verwirren ;)

stahli 15. Nov 2010 16:31

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Ich auch nochmal, nur zur Sicherheit :mrgreen:

Klasse: Deklaration von Objekten
Unit: Quelltextdatei (kann u.a. mehrere Klassen deklarieren, aber auch direkt den Programmcode enthalten)
DFM: Designerdatei, wo die Positionen und Eigenschaften der Komponenten eines Formulars abgelegt werden - der Quelltext liegt dann in der dazugehörigen Unit (beide müssen immer vernünftig zueinander passen)
Objekt: eine INSTANZ einer Klasse (also mit Leben gefüllter Speicherbereich der in seiner Klasse definierten Form)

Panel1 und Panel2 sind 2 Instanzen einer Klasse.
Beide müssen über TPanel.Create erzeugt werden, wobei ihnen Speicherplatz zugewiesen wird.
Mit Panel1.Free wird dessen reservierter Speicherbereich wieder freigegeben.

hans ditter 15. Nov 2010 21:34

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Hey, super für die guten Antworten!
Besonders das Beispiel mit dem Architkten, sehr anschaulich...:thumb:, aber auch dank an alle anderen.

Wenn also eine Unit Routinen (functionen und proceduren) enthält, die man einbinden kann, wo ist dann der Unterschied zu einer *.dll? Ich dachte immer, 'ne dll wäre auch nur eine Sammlung von vielen prodeduren/functionen, die man dann einbinden kann...

Freue mich auf weiter gute Antworten!

hans ditter

P.S.: Vielleicht sollte ich den Threadtitel ändern in "allgemeine Begriffsklärung der Delphisprache" oder so... :D

Luckie 15. Nov 2010 21:40

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Eine DLL enthält kompilierten Quellcode. Eine Unit unkompilierten Quellcode.

mkinzler 15. Nov 2010 21:42

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Zitat:

Eine Unit unkompilierten Quellcode.
Aber nur wenn sie nicht kompilliert (dcu) ist

hans ditter 16. Nov 2010 12:29

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
was bedeutet kompilierter Quellcode? Dass würde doch bedeuten, dass eine dll ein eigenständiges Programm ist, oder nicht?
Vielleicht könnte das nochmal jemand spezifizieren.

hans ditter

Luckie 16. Nov 2010 12:35

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Puh, jetzt wird es aufwendig. Also den Quellcode den du schreibst, kann die CPU nicht verstehen. Der Compiler übersetzt ihn in Maschinensprache, die die CPU versteht. dann kommt der Linker, der die verschiedenen compilierten Quellcodedateien zu einer ausführbaren Datei zusammenfügt.

Eine DLL ist in sofern ein eigenständiges Programm als dass es compilierten Quellcoe enthält, aber keinen Einsprungspunkt, damit sie ausführbar wäre. Sie enthält nur Funktionen, die es einem ausführbaren Programm zur Verfügung stellt.

mkinzler 16. Nov 2010 12:37

AW: Klasse, Objekt, Unit --> Zusammenhang?
 
Eine Dll/Bpl ist eine Bibliothek, die mehrere Units umfassen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz