Aufgabe 3.2 Glühlampen
3.2.1 Erzeugt ein neues Projekt mit dem Titel Lampen und speichert es in eurem Verzeichnis. Er-stellt darin über den entsprechenden Menüpunkt in BlueJ eine Klasse Lampe und öffnet ihren Quelltext. Eine Lampe soll als Eigenschaft ihre Stärke in Watt haben. Diese soll beim Erzeu-gen eines Exemplars als Parameter angegeben werden und soll mittels einer sondierenden Methode gibLeuchtstaerke abfragbar sein. Weiterhin soll die Klasse die Methoden ein-schalten und ausschalten besitzen.
3.2.2 Implementiert eine Methode, die als Rückgabewert je nach Zustand der Lampe einen String mit dem Inhalt „Lampe ist an“ bzw. „Lampe ist aus“ liefert.
3.2.3 Was passiert genau in der Fallunterscheidung?
Aufgabe 3.3 Der Klassiker: das Konto
3.3.1 Erzeugt ein neues Projekt mit dem Titel Bank und speichert es in eurem Verzeichnis. Erzeugt darin eine Klasse Konto, die Bankkonten modellieren soll.
3.3.2 Der Zustand eines Kontos soll durch einen Saldo definiert sein, der den aktuellen Kontostand angibt. Definiert ein Feld für den Saldo. Verändert dazu die Definition des von BlueJ vorgege-benen Beispielfeldes und sorgt für eine korrekte Initialisierung.
3.3.3 Definiert zwei Methoden, zahleEin(int) und hebeAb(int), die den richtigen Kontostand berechnen und den Zustand verändern. Überprüft, ob eure Methoden funktionieren, indem ihr in BlueJ den Zustand der Exemplare vor und nach der Ausführung der Methoden betrachtet.
3.3.4 Der Kontostand soll nun von außen abgefragt werden können (z.B. interaktiv in BlueJ). Imp-lementiert eine Methode, die die Belegung des Feldes zurückliefert. Hinweis: Verwendet als Anhaltspunkt die Beispielmethode.
3.3.5 Damit auf den ersten Blick erkennbar ist, wer die Klasse Konto programmiert hat, und was modelliert wird, sollt ihr nun den Kommentar am Beginn des Quelltextes verändern und eine Beschreibung der Klasse einfügen. Wechselt im Editor die Ansicht von „Implementierung“ auf „Schnittstelle“. Wird Euer Kommentar sichtbar? Wenn nein, warum nicht? Wenn ja, warum?
3.3.6 Die Bank hat Geburtstag und spendiert jedem Kontoeröffner 10 Euro. Implementiert einen Konstruktor, der den Saldo eines neu erzeugten Kontos auf diesen Betrag setzt. Hinweis: Der vorgegebene Konstruktor muss nur verändert werden. 3.3.7 Jedes Konto soll eine Kontonummer erhalten, die nur beim Anlegen des Kontos gesetzt wer-den kann. Implementiert dies mit Hilfe einer Exemplarkonstanten.
Aufgabe 3.4 Ein einfacher Ticketautomat
3.4.1 Implementiert eine Klasse für Ticketautomaten, die Tickets zu einem bestimmten Preis ver-kaufen. Definiert einen Konstruktor, der den als Parameter übergebenen Preis für jedes Ticket eines Automaten festlegt. Der Preis soll für den jeweiligen Automaten konstant sein. Hinweis: Löscht nach dem Öffnen des Quelltextes der neu erzeugten Klasse im Editor den gesamten Text und schreibt dann von Hand die vollständige Klassendefinition!
3.4.2 Definiert eine Operation geldEinwerfen(int). Sobald die Summe der eingeworfenen Be-träge den Ticketpreis erreicht oder übersteigt, soll ein Ticket „verkauft“ werden. Dazu soll ein Ticket gedruckt werden, auf dem das Restgeld ausgewiesen wird. Zum „Ausdrucken“ des Ti-ckets könnt ihr die Methode System.out.println() verwenden, mit der Texte auf der Konsole ausgegeben werden können. Außerdem soll der Ticketautomat beim Verkaufen eines Tickets das eingenommene Geld un-ter einer Summe von Einnahmen verbuchen.
3.4.3 Betrachtet euren Programmtext. Wie bestimmt sich der Zustand eures Ticketautomaten? Habt ihr eine Konstante benutzt?