Übungen Objekte und Klassen in Java

Aus Informatik
Wechseln zu: Navigation, Suche

Kontrollfragen

  1. Welche Aufgaben übernehmen GUI-Klassen?



Übungen

Aufgabe 1

Modellieren Sie Autos als Klasse nach folgenden Festlegungen:

  1. Zu einem Auto werden KFZ-Kennzeichen, Kilometerstand, Tankvolumen, Kraftstoffverbrauch und Kraftstoffmenge erfasst.
  2. Ein Auto kann tanken(Menge) und fahren(Strecke).
  3. Die aktuellen Werte der Attribute KFZ-Kennzeichen, Kilometerstand und Tankvolumen können abgefragt werden.
  4. Ein Auto soll sowohl ohne Werte als auch mit geeigneten Startwerten erzeugt werden können.

Modellieren Sie ein geeignetes UML-Klassendiagramm.

Implementieren Sie die Klasse Auto in Java. (Die Methoden der Klasse sollen ihre Aktionen kommentieren.)

Implementieren Sie eine Klasse AppAuto, in der zwei Autos erzeugt werden und diese fahren bzw. tanken.

Erstellen Sie eine geeignete GUI-Klasse für die Klasse Auto



Aufgabe 2

Erzeugen Sie zu Aufgabe Artikelverwaltung eine geeignete GUI-Klasse.



Aufgabe 3

Implementieren Sie eine Klasse Radio mit folgenden Attributen:

  • eingeschaltet, wenn ein Radio an oder aus ist.
  • lautstaerke, wie laut spielt das Radio Musik? (Die Lautstärke soll nur im Bereich von 0 bis 10 liegen.)
  • frequenz, die die Frequenz des gewählten Senders angibt (Erlaubter Frequenzbereich ist zwischen 85.0 und 110.0).

Implementieren Sie zu der Klasse zwei Konstruktoren der Art:

  • Radio()
  • Radio(boolean istAn, int lautstaerke, double frequenz)

Zu der Klasse Radio sollen folgende Methoden implementiert werden:

  • lauter(), leiser(): Diese Methoden sollen die Lautstärke ändern (nur möglich im Zustand an).
  • an(), aus(): Diese Methoden sollen den Zustand des Attributs eingeschaltet ändern.
  • public String toString() Diese Methode soll Informationen über den internen Zustand als String zurückgeben. Es soll eine Zeichenkette der Form "Radio an: Freq=98.4, Laut=2" zurückgeben.
  • waehleSender(double frequenz) Diese Methode soll eine Frequenz speichern. Ist die gewählte Frequenz außerhalb der erlaubten Frequenzbereichs, so soll die Frequenz 99.9 gewählt werden.

Alle Methoden sollen sich selbst mitteilen.



Aufgabe 4

Eine Firma vermietet für Gruppen, Vereine oder Privatpersonen eine Vielzahl von Räumen in einem Hochhaus. Der Firma gehört das gesamte Hochhaus, es stehen aber nicht immer alle Räume zur Verfügung. Um das Problem einfach zu halten, gehen wir davon aus, dass die zur Verfügung stehenden Räume durchnummeriert sind.

Für das Problem wurden folgende Parameter in einem Pflichtenheft festgehalten:

  1. Von der Firma wird der Name, eine Adresse, die Anzahl der Räume zur Vermietung und die maximale Anzahl der möglichen Räume gespeichert.
  2. Alle Attribute müssen gelesen werden können.
  3. Die Größe der Räume (d. h. die Menge der Sitzplätze) wird in einem Feld gespeichert.
  4. Die einzelnen Räume werden von Kunden gebucht, diese werden in einem Feld gespeichert.
  5. Eine Firma wird mit ihrem Namen und der Adresse erzeugt, zudem werden alle notwendigen Werte gesetzt.
  6. Es kann ein Raum (mit der Sitzplatzmenge) hinzugefügt werden.
  7. Es muss eine Methode geben, die nach einem Raum mit einer gewünschten Größe sucht und dessen Nummer zurückgibt; findet sich kein Raum, wird -1 zurückgegeben.
  8. Es muss eine Methode geben, die die Anzahl der freien (ungebuchten) Räume ermittelt und zurückgibt.
  • Modellieren Sie für das Problem ein geeignetes UML-Klassendiagramm.
  • Implementieren Sie
    • den Konstruktor der Klasse Firma,
    • die Methode fuegeRaumHinzu(int plaetze),
    • die Methode sucheRaum(int plaetze) und
    • die Methode anzahlFrei().



Aufgabe 5

Schreiben Sie eine Klasse, die ein Bankkonto realisiert. Attribute für das Bankkonto sind der Name und Vorname des Kontoinhabers, die Kontonummer, der Kontostand sowie ein Limit, bis zu dem das Konto überzogen werden darf.

  1. Erstellen Sie einen oder mehrere geeignete Konstruktoren!
  2. Erstellen Sie Methoden für folgende Operationen:
  • Stringdarstellung des Bankkontos.
  • Einzahlung.
  • Auszahlung.
  • Abfrage des Kontostandes.



Aufgabe 6

Vor einer Autowaschanlage der Tankstelle "OSSE" gibt es regelmäßig eine Schlange an Autos, die gewaschen werden sollen. Die bekannte Firma ProfiSoft soll nun ein Programm entwickeln, welches diese Warteschlange verwaltet. Aus Erfahrungsgründen (und aus Platzgründen) sind nie mehr als 10 Autos in dieser Schlange. Natürlich soll sich ein neu hinzukommendes Auto am Ende der Schlange anstellen (solange noch Platz ist), außerdem sollen alle wartende Autos aufrücken, wenn das an erster Stelle stehende Auto in die Anlage einfahren darf, Autos können natürlich jederzeit die Schlange verlassen und wieder "nach Hause" fahren.

  1. Stellen Sie zu dem gegebenen Problem ein (geeignetes) Pflichtenheft auf. Suchen Sie sich dafür notwendige und sinnvolle Eigenschaften für die Klasse Auto
  2. Modellieren Sie eine geeignete Klasse Auto.
  3. Modellieren Sie eine geeignete Klasse Warteschlange. (Verwenden Sie zum Verwalten der gewünschten Anzahl an Autos eine geeignete Datenstruktur.)
  4. Testen Sie ihren Entwurf mit Hilfe des Java-Editors.
  5. Modellieren und Implementieren Sie eine Klasse WarteschlangeGUI, die für das gegebene Problem ein Java-Programm als Lösung anbietet.