Aufgabe 1: Gegeben ist die Spezifikation der Datenbehälterklasse Anschluss, um Telefonanrufe zu verwalten:
public class Anschluss { public void anrufen() throws BelegtAusn; public void auflegen(); public boolean belegt(); public int einheit(); }
Schreiben Sie nun eine (nicht-tolerante) Datenbehälterklasse ISDNAnschluss mit denselben vier Methoden, die aber zwei Anschluss-Objekte gleichzeitig bedienen. Ein ISDN-Anschluss meldet dann belegt, wenn beide Leitungen belegt sind; daher können Sie anrufen, wenn eine der Leitungen frei ist. Die Anzahl der vertelefonierten Einheiten eines ISDN-Anschlusses ist die Summe der Einheiten .
Aufgabe 2. Schreiben Sie ein Hauptprogramm (aus der vorherigen Aufgabe 1) und einer Prozedur mit einem ISDNAnschluss-Parameter; testen Sie darin alle Funktionalitäten der Klasse ISDNAnschluss
Aufgabe 4.: Kreuzen Sie die richtigen Antworten an und geben Sie Ihre Begründung mit Stichworten dazu. Ohne Begründung gilt Ihre Antwort als falsch.
Die Ausführung der main-Methode erfolgt über einen polymorphen Aufruf.
Es gibt keine Klassen ohne Konstruktor
Eine Klasse hat entweder nur static-Methoden oder keine static-Methoden.
Die Methode actionPerformed kann in derselben Klasse implementiert werden.
Eine for-Schleife kann endlos laufen, eine Zählschleife nicht.
Durch den Aufruf eines Operators kann ein Objekt nicht verändert werden.
Java-Objekte können das Ende des Blocks, in dem sie erzeugt wurden, überleben.
In einer char-Variable kann ein Ganzzahlwert gespeichert werden.
Aufgabe 5: Implementieren Sie die folgende Schnittstelle als eine Hüllenklasse für boolean mit einem parametrisierten Konstruktor:
interface Log { public void konjunktion(final Log wert); // logisches 'und', ähnlich wie &= public void disjunktion(final Log wert); // logisches 'oder', ähnlich wie |= public void ausgeben(); // auf der Konsole }