| 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