Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unterschied zwischen Instanz und Objekt (https://www.delphipraxis.net/52261-unterschied-zwischen-instanz-und-objekt.html)

VizeTE 26. Aug 2005 10:06


Unterschied zwischen Instanz und Objekt
 
Hallo zusammen,

ich sitze hier mir ein paar Leuten und wir diskutiere gerade ob es Unterschiede zwischen den Begriffen Instanz und Objekt gibt.

Ich bin eigentlich der Meinung das es da keine Unterschiede gibt. Für mich sind das einfach Synonyme. Die anderen Leute hier denken da aber anders.

Was meint Ihr dazu?

Ciao - Daniel

SirThornberry 26. Aug 2005 10:10

Re: Unterschied zwischen Instanz und Objekt
 
ein object bestimmt die Struktur und die Instanz ist dann der angeforderte Speicher der einer Objectstruktur.

Das Object ist also
Delphi-Quellcode:
  TIrgendwasObject = class(TVorfahre)
und die Instanz ist dann
Delphi-Quellcode:
ObjectInstanz := TIrgendwasObject.Create;
Das Object definiert also nur die Struktur und die instanz ist dann der angeforderte Speicher welcher der Objectstruktur entspricht.

Bernhard Geyer 26. Aug 2005 10:10

Re: Unterschied zwischen Instanz und Objekt
 
Je nach Programmiersprache bedeutet Objekt etwas anders bzw. wird es für etwas anderes verwendet

In Delphi ist es gebräuchlicher für die Klasse auch Objekt zu sagen.
In C++ ist es AFAIK gebräuchlicher Objekt für die Instanz zu sagen.

brechi 26. Aug 2005 10:11

Re: Unterschied zwischen Instanz und Objekt
 
objekt:

Delphi-Quellcode:
type TBla = class(TComponent)
end;

instanz

Delphi-Quellcode:
var bla: TBla;
bla ist eine instanz von dem objekt (klasse) TBla
glaub ist die einfachste und anschaulichste erklärung

TillWe 26. Aug 2005 10:12

Re: Unterschied zwischen Instanz und Objekt
 
Ich versteh das so:
- Das ist schon was anderes:

Ein Object ist erstmal abstrakt.
Während der Laufzeit werden Instanzen von Objecten erzeugt/gebildet.

mfg

Stanlay Hanks 26. Aug 2005 10:13

Re: Unterschied zwischen Instanz und Objekt
 
Richtig, siehe SirThornberry. ;)

SirThornberry 26. Aug 2005 10:14

Re: Unterschied zwischen Instanz und Objekt
 
@brechi:
Delphi-Quellcode:
var bla: TBla;
ist noch keine Instanz sondern nur eine Variable (ein Pointer) und erst mit dem Create wird dem Pointer (typisierter Pointer) eine Instanz zugewiesen.

nieurig 26. Aug 2005 10:14

Re: Unterschied zwischen Instanz und Objekt
 
Hi Daniel,
ich denke Du hattest mit der ersten Formulierung Recht:

Wenn man eine Instanz einer Klasse erzeugt, hat man ein Objekt :-)

Wenn man Klasse sagt meint man die Struktur ohne das man ein Objekt erzeugt hat und Speicher im Arbeitsspeicher belegt

Niels

P.S.
Es stimmt. Die Begriffe werden je nach Programmiersprache etwas unterschiedlich verstanden. Ich denke "Instanz" wurde vor allem durch Java eingeführt.

SirThornberry 26. Aug 2005 10:16

Re: Unterschied zwischen Instanz und Objekt
 
@nieurig: wenn man aber von Objectorientierter Programmierung spricht meint man das man in Klassen programmiert und nicht in instanzen. Objectorientiert heißt also nicht das man auch zwangsweise eine Instanz erzeugen muss. Somit ist Object = Klasse (zumindest bei Delphi)

brechi 26. Aug 2005 10:22

Re: Unterschied zwischen Instanz und Objekt
 
bevor jeder hier seine meinung sagt die falsch ist (meine eingeschlossen)

http://www.google.de/url?sa=t&ct=res...C6iGiAK3zp2dDA

google bildet

btw @SirThornberry
bla: TBla ist schon eine instanz, auch wenn sie erst mit Create erstellt wird naja einfach mal link schaun

jfheins 26. Aug 2005 10:30

Re: Unterschied zwischen Instanz und Objekt
 
Oder wir Fragen einfach Wikipedia ;)

http://de.wikipedia.org/wiki/Objekto...#Bezeichnungen

Robert_G 26. Aug 2005 10:37

Re: Unterschied zwischen Instanz und Objekt
 
*ROFL* Ihr seid vielleicht Helden... :lol:
Natürlich ist es das Objekt, dass man aus einer Klasse erzeugt. Somit Objekt == Instanz.
Oder die Kindergartenversion: Klasse == Bauplan -> Objekt == Haus

jbg 26. Aug 2005 10:45

Re: Unterschied zwischen Instanz und Objekt
 
Bringen wir mal die drei Wörter in einem Satz unter:

Das Objekt ist eine Instanz einer Klasse.

Olli 26. Aug 2005 10:48

Re: Unterschied zwischen Instanz und Objekt
 
Zitat:

Zitat von Robert_G
Natürlich ist es das Objekt, dass man aus einer Klasse erzeugt. Somit Objekt == Instanz.
Oder die Kindergartenversion: Klasse == Bauplan -> Objekt == Haus

Nach den ersten paar Beiträgen war ich schon am Verzweifeln :shock:. Aber jetzt kommen Robert_G und jbg zur Ehrenrettung der DP. :thumb: ...

Muß ich jetzt auf die Niveaudiskussion verweisen? :duck:

brechi 26. Aug 2005 11:15

Re: Unterschied zwischen Instanz und Objekt
 
hrhr :) jeder darf doch mal fehler machen oder net

r2c2 26. Aug 2005 11:23

Re: Unterschied zwischen Instanz und Objekt
 
Und um die Verwirrung zu komplettieren weise ich nochmal auf den geschichtlichen Zusammenhang hin:
AFAIK gab es in TP 5.5 und höher(und als Relikt jetzt noch in Delphi) folgenede Möglichkeit:
Delphi-Quellcode:
TSonstwas = object
...
end;
War so n Zwischending zwischen ner Klasse und nem Record mein ich...

mfg

Christian

SirThornberry 26. Aug 2005 11:24

Re: Unterschied zwischen Instanz und Objekt
 
und ich habs so bezeichnet wie wir auf arbeit das ganze bezeichnen bzw. drüber reden.

Olli 26. Aug 2005 11:58

Re: Unterschied zwischen Instanz und Objekt
 
Zitat:

Zitat von r2c2
War so n Zwischending zwischen ner Klasse und nem Record mein ich...

Das stimmt. Der Hauptunterschied zu heutigen Delphiobjekten, die immer auf dem Heap liegen, war aber, daß sich diese "Objekte" verhielten wie dies lokale Objekte (die nicht durch new instanziiert wurden) immer in C++ tun. Etwas was ich in Delphi schmerzlichst vermisse. Man kann das zwar mit Interfaces nachbauen, so daß sich das Objekt automatisch zerstört, wenn es "out of scope" ist, aber das ist häßlich und unpraktikabel ...
Würde das existieren und zusätzlich noch "operator overloading" wären C++ und Delphi ebenbürtig. Ich hoffe, daß einst mein Traum in Erfüllung geht ;)
Übrigens kann man so feine Dinge implementieren (Garbage Collectors, String-Objekte wie in Delphi aber mächtiger, usw.)

Zitat:

Zitat von SirThornberry
und ich habs so bezeichnet wie wir auf arbeit das ganze bezeichnen bzw. drüber reden.

:shock: ... ehrlich? Habt ihr denn keine Informatiker in eurer Firma? Die sollten das doch wissen und sind doch sonst so pedantisch.

VizeTE 27. Aug 2005 11:44

Re: Unterschied zwischen Instanz und Objekt
 
Zitat:

Zitat von SirThornberry
Somit ist Object = Klasse (zumindest bei Delphi)

Diese Aussage find' ich auch ein wenig gewagt. Das kann ich mit meinen OOP-Kenntnissen nicht vereinen.

Ansonsten fühle ich mich bestätigt :lol:

thx

Hador 27. Aug 2005 13:18

Re: Unterschied zwischen Instanz und Objekt
 
Zitat:

Zitat von VizeTE
Ansonsten fühle ich mich bestätigt :lol:

Mitlerweile ja.
Am anfang dachte ich auch erstmal "Was ist denn hier los"

Zitat:

Das Objekt ist eine Instanz einer Klasse.
Genau so


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.

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