Stefan Muenz: Begriffschaos im Kopf: Objekt und Instanz

Beitrag lesen

Hallo Uschi,

ich versuche gerade JS zu lernen, indem ich beschreibe, was ich geskriptelt habe und stelle dabei, fest, es funktioniert zwar, aber ich kann nicht beschreiben, warum.

Du hast vielleicht Probleme <g> - andere waeren froh, sie haetten solche ;-)

Es gibt ein Objekt namens images, das ist vorgefertigt. Wenn ich nun ein Bildchen in meine Datei einbinde,
<img src="bildchen.gif" height="10" width="10" name="blubber">
ist das dann ein Objekt oder die Instanz eines Objekts images, und worin liegt der Unterschied, und was wäre dann eine Klasse?

Jedes <img>-Tag in HTML erzeugt aus Sicht von JavaScript eine Instanz des images-Objekts. Ein Objekt ist etwas Abstraktes, nur die Idee von etwas. Eine Objektinstanz ist eine konkrete Realisierung dieser Idee. Du kannst sagen: es gibt Grafiken in HTML. Das ist aber nur ideell. Erst wenn du ein korrekt notiertes <img>-Tag in einer HTML-Datei hast, wird daraus eine tatsaechliche Grafikreferenz. Und in dem Moment wird eben eine Realisierung, sprich eine Instanz des zugehoerigen JavaScript-Objekts erzeugt. Instanzen eines JavaScript-Objekts kannst du allerdings nicht nur durch Notation von HTML-Tags erzeugen, sondern auch innerhalb von JavaScript selber. Wenn du z.B. so was hast wie:
Bild = new Image();
Bild.src = "datei.gif";
dann erzeugst du allein mit Hilfe von JavaScript eine neue Instanz des images-Objekts. Da es sich um ein Objekt handelt, das kompatibel ist zu solchen Objekten, die durch <img>-Tags in HTML erzeugt werden, kannst du beide mischen, sprich: du kannst eine in HTML notierte Ursprungsgrafik durch eine in JavaScript als Objekt definierte neue Grafik dynamisch austauschen.

Sicher werden dir die richtigen Programmierer das alles viel genauer erklaeren koennen. Die Frage ist nur, ob du es dann verstehst ;-)

viele Gruesse
  Stefan Muenz