Tobias Müller: alle Instanzen eines Objektes / OOP

Beitrag lesen

Hallo Tillmann,

//Ich habe den Konstruktor:
function Haus() {
   this.Nummer  = Nummer ;
   this.Strasse = Strasse ;
   this.Groesse = Groesse;
}

---------------------^^^^^^^^
Da hakts ja schonmal. Woher soll denn die Funktion die Werte für Nummer, Strasse etc. nehmen?

//Und definiere mir ein p(P)aar Instanzen:
var meinHaus = new Haus();
meinHaus.Nummer  = 12;
meinHaus.Strasse = "Hauptstr.;
meinHaus.Groesse = 200;

var deinHaus = new Haus();
deinHaus.Nummer  = 10;
deinHaus.Strasse = "Nebentstr.;
deinHaus.Groesse = 150;

Das führt also auch zu nichts...

//Nun möchte ich eine Schleife formulieren nach dem Motto:
//wähle alle Häuser aus, die zuvor definiert wurden
for (var AlleHaueser in Haus) {
   document.write("Haus" + ...);
}

Und das selbstverständlich dann auch.

In diesem Beispiel würde auf die Konstruktor-Funktion "Haus" verzichten und mit new Object() ein entsprechndes Objekt erstellen. Damit du mehrere Haus-Objekte bequem durchlaufen kannst würde ich diese wiederum in einem Array speichern.

Also beispielsweise so:

var haeuser = new Array();

haeuser['meinHaus'] = new Object();
haeuser['meinHaus'].Nummer  = 12;
haeuser['meinHaus'].Strasse = "Hauptstr.";
haeuser['meinHaus'].Groesse = 200;

haeuser['deinHaus'] = new Object();
haeuser['deinHaus'].Nummer  = 10;
haeuser['deinHaus'].Strasse = "Nebentstr.";
haeuser['deinHaus'].Groesse = 150;

for (var i in haeuser) {
   document.write(
                   i + ': ' +
                   ' Nummer: ' + haeuser[i].Nummer +
                   ' Strasse: ' + haeuser[i].Strasse +
                   ' Groesse: ' + haeuser[i].Groesse + '<br/>'
                 );
}

Ist nur _eine_ Idee, wie man es lösen könnte. Es ginge natürlich auch anders oder besser, aber vielleicht hilft es dir ja weiter.

MfG, Mülli

--
Viva Colonia!