Konstruktor mit Parametern

Alsou

Aktives Mitglied
Hallo, kann mir jemand bitte sagen, ob ich das richtig verstanden habe:

Zuerst wird ein Feld mit 4 Elementen erzeugt, mit den aktuellen Parametern (Daimler, 100..etc) initialisiert und anschließend ausgegeben. Danach wird das Feld neu initialisiert (new SiebenProzent()..) und ausgegeben... Danke




Anlage[]a=new Anlage[4];
a[0]=new Aktie("Daimler", 100,new SiebenProzent());
a[1]=new Aktie ("VW",200, new Quadrat());
a[2]=new Aktie ("Porsche", 300, new Zufall());
a[3]=new Aktie("Opel", 400, new NeuGleichAlt());

for (Anlage anl:a){
anl.ausgeben();
}
for (Anlage anl:a){
anl.berechneNeuenWert();
}

for(Anlage anl:a){
anl.ausgeben();
}

}
}
 
Hier wird ein Array deklariert welches Anlage enthält:
[c]Anlage[] a[/c]

Hier wird ein Array mit Platz für 4 Elmente erezgut:
[c]new Anlage[4];[/c]

Und hier wird das Array mit Anlagen initialisiert:
[c]a[0]=new Aktie(..)[/c]

Das hier sind Konstruktor Parameter für Anlage, hat mit dem Array erstmal nix zu tun:
[c]"Daimler", 100,new SiebenProzent()[/c]
 
Hallo, kann mir jemand bitte sagen, ob ich das richtig verstanden habe:

Zuerst wird ein Feld mit 4 Elementen erzeugt,
Richtig, aber es hat zu diesem Zeitpunkt nur 4 leere Plätze (also null-Referenzen)

mit den aktuellen Parametern (Daimler, 100..etc) initialisiert
Vielleicht schlecht ausgedrückt. Es werden vier neue Objekte vom richtigen Typ (Aktie) per Konstruktor erzeugt und den Feld-Plätzen zugewiesen.

und anschließend ausgegeben.
Richtig.

Danach wird das Feld neu initialisiert (new SiebenProzent()..)
Nein. In der zweiten Schleife wird von jedem Aktien-Objekt im Feld die Methode berechneNeu() aufgerufen. Das new SiebenProzent() hat damit nix, aber auch gar nix zu tun, da wurde ein anderes Objekt erzeugt und dem Aktie-Konstruktor übergeben, aber das ist an dieser Stelle schon längst Geschichte.

Stimmt.

Gern geschehen!

PS: Für Code solltest du [java]-Tags nehmen.
 
Der Aktie-Konstruktor initialisiert die Objekte, so dass Daimler, 100, und das Sieben-Prozent-Objekt gespeichert werden. Aber da würde ich in der Klassendef. gucken.

Mfg zwergmulch
 
also, der Aktie Konstruktor bekommt jetzt Referenzen auf Objekte von Klassen(Quadrat etc..), die eine gemeinsame Schnittstelle implementieren... Mit diesem Methodenaufruf werden dann entsprechende Methoden aufgerufen...
 
Alsou, ist das jetzt eine Frage oder Feststellung?

so oder so, den letzten post versteh ich nicht
w0ddes.gif


sorry, aber das bild hat hier so gut gepasst ^^
 

Neue Themen


Zurück
Oben