Begriffsdurcheinander: Klasse, Objekt od. Instanz

Hallo zusammen.
Ein Satz wie dieser irritiert mich:
„…
Was Sie in einem VBA-Programm ansprechen, sind von der Klasse
abgeleitete Instanzen des Objekts.
…“
Ist ein Objekt jetzt gleichzeitig auch eine Klasse ?
Oder ist eine Klasse nur ein spezielles Objekt ?
Und was ist dann das besondere einer Klasse ?

Also ich les da schon länger an einem Buch und das wird irgendwie nie richtig erklärt.
Mir wärs recht, wenn die sich mal auf irgendwas festlegen könnten… z.b. einfach nur auf die Begriffe Objekt und Instanz.

Oder ist es vielleicht so das Instanz und Klasse beides Objekte sind ? Schon irgendwie würd ich sagen.
Dann ist eine Klasse ein Objekt, welches in einem Vererbungsbaum hängt.

Wadweisichnich aber du ?

Gruß Sebastian

Mir wärs recht, wenn die sich mal auf irgendwas festlegen
könnten… z.b. einfach nur auf die Begriffe Objekt und
Instanz.

Eine Klasse ist die Beschreibung von Eigenscharften und Methoden (also das Rezept). Eine Instanz ist die „fleischgewordene Inkarnation“ der Klasse (also die Pizza, basierend auf dem Rezept). Fachleute sprechen hier von „Instanziierung der Klasse“.

Guck mal da:
http://www.rent-a-tutor.com/heddesheimer/schulungen/…

Speziell zu Klassen/Instanzen:
http://www.rent-a-tutor.com/heddesheimer/schulungen/…

Gruß
Marian

Dein Plätzchenflashfilm…
Hi Marian,
auf deiner seite
http://www.rent-a-tutor.com/heddesheimer/schulungen/…

Werden aus der Klasse Plätzchenform
meherere Instanzen gebildet.
So weit so gut.

Jedoch bildest du die Instanten mit Hilfe einer Methode der Klasse.
Das scheint mir regelwiedrig.
Der Befehl um aus einer Klasse eine Instanz zu kopieren ist doch sicherlich ein Befehl unabhängig von den jeweiligen Klassen lautet.
Ein bischen irreführend ?
Sonst supergenialles Tutorial ! So weit ich das beurteilen kann.

Gruß Sebastian

Wenn man Objekte sagt meint man meist Instanten ?
Hi also ich denk ich blick jetzt wieder durch.
Das Prinzip mit den Instanzen und Klassen war mir seit längerem bekannt. Wissen musste mal wieder aufgefrischt werden.

Verwirrend finde ich nur das für das Wort Instanz auch so oft das Wort Komponente und Objekt genannt wird.
Dabei ist eine Komponente jedoch wohl eher eine Klasse die von einer IDE schon fertig angeboten wird, im Gegensatz zu einer selbstgeschriebenen Klasse ?
Und sobald Sie verwendet wird ist sie eine Instanz.
Oder oft auch Objekt genannt (z.B. von VB - Usern).
Ein Objekt ist aber doch wohl ein Synonym für eine Instanz
und weist nur auf die denkweise der OOP hin, in der es Objekte eigentlich doch gar nicht meht gibt, sondern nur noch Klassen und Instanzen.

Is that right ?
So kann man doch sagen ? Oder ?

Gruß Sebasitan

Jedoch bildest du die Instanten mit Hilfe einer Methode der
Klasse.
Das scheint mir regelwiedrig.

Ist vielleicht verwirrend, dass ich eine Methode „ausstechen“ definiert habe :wink:

Natürlich wird die Instanz in der Regel mit der Methode „New“ erzeugt, die zum Sprachumfang der Sprache (C++, VB oder PHP) gehört.

Gruß
Marian

Ein Objekt ist aber doch wohl ein Synonym für eine Instanz
und weist nur auf die denkweise der OOP hin, in der es Objekte
eigentlich doch gar nicht meht gibt, sondern nur noch Klassen
und Instanzen.

Objekte sind immer konkrete Instanzen einer Klasse. Die Begriffe kann man synonym verwenden, wobei sich natürlich „Fensterobjekt“ leichter verwenden lässt (wegen der Kürze) als „Instanz der Fensterklasse“.

Gruß
Marian

Wiso ? Das Wort Fensterinstanz geht doch auch ?

Objekte sind immer konkrete Instanzen einer Klasse. Die
Begriffe kann man synonym verwenden, wobei sich natürlich
„Fensterobjekt“ leichter verwenden lässt (wegen der Kürze) als
„Instanz der Fensterklasse“.

Wiso ? Das Wort Fensterinstanz geht doch auch ?

Gruß Sebastian

Hallo Sebasitan,

Dabei ist eine Komponente jedoch wohl eher eine Klasse die von
einer IDE schon fertig angeboten wird, im Gegensatz zu einer
selbstgeschriebenen Klasse ?

Diese Unterteilung ist nicht richtig so, denn daraus ergeben sich nur Missverständnisse.
Das Betriebssystem macht keine Unterschiede zwischen Komponenten, es spielt nicht einmal eine Rolle in welcher Sprache sie geschrieben wurden.

Eigentlich gibt es 4 Arten von Komponenten:

  1. Das Ding gehört zum Betriebsystem
  2. Das Ding gehört zum Compiler
  3. Das Ding ist extra gekauft worden bzw. gehört z.B. zu Word.
  4. Das Ding ist von dier erstellt worden.

Wenn du alles richtig programmiert hast, sollte sich Variante 4 nur dadurch von den anderen drei unterscheiden, dass du den Sourcecode selbst erstellt hast.

Wenn du nach deiner Definition mit dem Programmierer der Variante 2 diskutierst, werdet ihr euch nie verstehen.

MfG Peter(TOO)