Lieber Rolf,
loadData() { for (let batt of this.Batterien) batt.loadData(); this.PV.loadData(); } }
diese loadData
-Methode der Solar
-Klasse „weiß“, dass ihre Batterie
-Objekte eine Methode loadData
haben, sowie dass das auch ihr PV
-Objekt eine solche hat. Das kann man so machen und fährt dabei auch sehr gut. Der klitzekleine Nachteil ist nur der, dass man Solar.loadData
immer wieder anpassen muss, wenn man eine neue Objektart entwirft, um sie als Eigenschaft von Solar
zu verwenden.
Ob das von Bedeutung ist (oder werden wird), kann ich unmöglich abschätzen, weil ich nicht weiß, wofür @ROGA die Klasse Solar
denn tatsächlich verwenden möchte. Bis jetzt dient sie lediglich der Aggregation der Daten von diversen Komponenten seine PV-Anlage. Aber was soll mit der Solar
-Instanz später geschehen? „Nur“ eine Ausgabe auf die Konsole? Oder eine visuelle Aufbereitung für das Anzeigen in einem Browser? Das wäre jetzt wichtig zu wissen, um vielleicht Batterie
und PV
als eine Art Komponenten-Klasse zu bauen, die dann von der Elternklasse Solar
auf eine vereinheitlichte Art angesprochen werden kann, um die Ausgabe besser erstellen zu können.
Liebe Grüße
Felix Riesterer