© APSIS GmbH extern.gif (1249 Byte), Polling, 2000


FarbmengeImpl

Implementierung der Schnittstelle Farbmenge aus der Bibliothek für das Lehrbuch Programmieren mit Java

Dokumentation Programmtext ohne Dokumentation


/*
 * @(#)kapitel9/Farbmenge.java
 *	Bibliothek für das Lehrbuch in Java
 *	@author Prof. Solymosi, (c): APSIS GmbH
 *	@version 3.0
 *	@date 28. August 2000
*/
package lehrbuch.kapitel9;
import lehrbuch.*; // Farbe, BereichAusnahme
/** Implementierung der Menge für Farben als boolean Reihung */
public class FarbmengeImpl implements Farbmenge {
	/** Parameterloser Konstruktor */
	public FarbmengeImpl() {
		for (int i = 0; i < inhalt.length; i++)
			inhalt[i] = false;
	}
	/** Kopierkonstruktor
		@param quelle const die zu kopierende Farbmenge
	*/
	public FarbmengeImpl(final FarbmengeImpl quelle) { 
		for (int i = 0; i < inhalt.length; i++)
			inhalt[i] = quelle.inhalt[i];
	}
	/** Löscht alle Farben aus der Farbmenge */
	public void entleeren() { 
		for (int i = 0; i < inhalt.length; i++)
			inhalt[i] = false;
	}
	/** Trägt eine Farbe in die Farbmenge ein.
		@param farbe const der einzutragende Farbwert
	*/ 
	public void fuellen(final Farbe farbe) { 
		inhalt[farbe.pos()] = true;
	}
	/** Löscht eine Farbe aus der Farbmenge.
		@param farbe const die zu löschende Farbe
	*/ 
	public void entfernen(final Farbe farbe) { 
		inhalt[farbe.pos()] = false;
	}
	/** Überprüft, ob eine bestimmte Farbe in der Farbmenge enthalten ist.
		const
		@param element const die gesuchte Farbe
		@return true wenn die Farbmenge die Farbe enthält
	*/
	public boolean vorhanden(final Farbe farbe) {
		return inhalt[farbe.pos()];
	}
	/** Zeigt alle gespeicherten Farben am Bildschirm an.
		const
	*/
	public void allesAnzeigen() { 
		try {
			for (int i = 0; i < inhalt.length; i++)
				if (inhalt[i]) {
					Farbe farbe = Farbe.ROT;
					farbe = (Farbe)farbe.wert(i);
					farbe.meldung();
				}
		} catch (BereichAusnahme ausnahme) {
				System.err.println("Programmfehler in FarbmengeImpl.allesAnzeigen");
				throw new LehrbuchFehler();
		}
	}
	// private Komponenten:
	protected boolean[] inhalt = new boolean[3];
}

© APSIS GmbH extern.gif (1249 Byte), Polling, 2000