Uschi Renziehausen: Begriffschaos im Kopf: Objekt und Instanz

Beitrag lesen

Hi Stefan, du bist ein Goldstück,

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

Meistens habe ich leider auch das Problem "funzt nich", und genau das wollte ich durch die Beschreiberei mal abstellen.
Der Punkt ist doch der: Leute wie ich verstehen  Programmieranleitungen meist nicht ganz. Damit sie dann vorwärtskommen, produzieren sie  ein Trial und noch 'n Error im Quadrat bis es endlich funktioniert. Dazwischen liegen, sobald es ein bischen komplexer wird, soviele Änderungen und vergessene Semikola, daß zumindest ich nicht mehr weiß, wie ich denn da nun hingekommen bin. Mit anderen Worten, beim nächsten Mal geht das Elend von vorne los. Der Beschreibungsversuch zwingt einen jedoch dazu, die eigenen Scripteleien zu verstehen und zu evaluieren. Der Rest ist dann Vokabeln lernen.

Dein Erklärungsansatz ist klasse und für Leute wie mich unmittelbar verständlich, weil er nolens volens auf etwas zurückgreift, womit sich die meisten Geisteswissenschaftler irgendwann mal beschäftigt haben: Erkenntnistheorie, und zwar im vorliegenden Fall platonische Ideenlehre. Vielleicht kann man daraus mal was machen. Ein Problem in der Programmierdidaktik ist nämlich sicherlich, daß immer davon ausgegangen wird, die Adressaten der Handbücher seien fit in Mathe. War ich nie und bin ich -- zu meinem Bedauern -- auch jetzt noch nicht. Programmierern -- sieh dir Roland oben an, fällt als Beispiel immer als erstes sowas wie Streckenberechnung ein. Was meinst du, wie lange ich gebraucht habe, um zu realisieren, daß der Variablenname i ein solcher ist, und nicht etwa integraler Bestandteil einer for-Schleife.        
Nun habe ich aber doch noch ein paar Rückfragen:

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.

Wieso erstmal eine Referenz und dann erst eine Instanz des Objekts?
Kann man sagen, daß es sich bei

Bild = new Image();
Bild.src = "datei.gif";

um die Instanz eines Objekts handelt, auf die noch nicht Bezug genommen wurde?

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:

Die Kompatibilität wird in diesem Falle durch Image() erzeugt.

Wenn ich nun aber ein ganz Objekt baue, dann geht das laut selfhtml über eine Funktion.
Wenn ich jetzt nun sage

function friends(vorname, nachname, alter){
this.vorname = vorname;
this.nachname = nachname;
this.alter = alter;
}

ist das einzige, was das Browser-Universum bereits kennt, die Idee einer Funktion (Objekt), von der ich nunmehr
ein reales Exemplar (i.e. Instanz) namens "friends" gekreiert habe. Aber was habe ich erzeugt, wenn ich irgendwo weiter unten schreibe

guterFreund =  new friends("Nepomuk", "Schnibbeldick", "103");

Eine Instanz der Idee function oder eine Instanz der Instanz friends? Oder beides?
Irgendwo habe ich auch mal die Notierung new Object() gelesen, aber in Selfhtml kann ich das nicht finden.
Gibt es irgendwo eine Liste, was hinter new an Vorgefertigtem alles kommen kann.

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

<g> Nein. Ich versuche mich jetzt mal an Rolands Antwort. Wenn ich da zwei Stunden draufgeguckt habe, bin ich wahrscheinlich komplett plemplem.
Im übrigen wäre ich auch für eine Aufnahme in die Forumsauslese, aber vielleicht so, daß auch sone wie ich das mal raffen. Vielen Dank jedenfalls erstmal,

Liebe Grüße, Uschi

Und noch was, irgendjemand möge dem Valligator ein paar Zähnchen ziehen. Ohne Umbruch bringt wenig Punkte. Haust Du ihm von mir aufs Haupt? Ganz fest?