CompoundComponent.java |
1 /** 2 * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch 3 * Digitale Schaltungen 4 * Zusammengesetzte Komponente 5 * Eine zusammengesetzte Komponenten ist eine Komponente, die aus 6 * Teilkomponenten besteht. 7 */ 8 public abstract class CompoundComponent implements Component { 9 10 private Component[] comp; // die einzelnen Teilkomponenten 11 12 static int n; // Anzahl der CompoundComponent-Objekte 13 // (ohne Objekte von Unterklassen) 14 private int i; // zählt die Teilkomponenten, die hinzugefügt werden 15 // (in Unterklassen nicht benötigt) 16 public abstract int size(); // Anzahl der Teilkomponenten (in Unterklassen definiert) 17 18 // Konstruktor (in Unterklassen aufgerufen) 19 public CompoundComponent() { 20 comp = new Component[size()]; 21 n++; // Zählen der Instanzen von CompoundComponent 22 } 23 24 // Hinzufügen einer Komponente 25 void addComponent(Component c) { 26 comp[this.i++] = c; 27 } 28 29 // Zugriff auf eine Komponente 30 Component getComponent(int i) { 31 return comp[i]; 32 } 33 34 // Zusammengesetzte Komponente schaltet = 35 // Ausführung der Operationen der Teilkomponenten 36 public void operate() { 37 for (int i=0; i<comp.length; i++) 38 comp[i].operate(); 39 40 // for (Component c : comp) 41 // c.operate(); 42 } 43 44 } 45