Aufgaben: Modellierung und Implementierung von Klassen
Die Gesamtschule Bonn verwaltet ihre Bibliothek mit einem Programm. Nennen Sie drei Objekte, die in diesem System vorkommen können, und geben Sie jeweils zwei Attribute…
Die Gesamtschule Bonn verwaltet ihre Bibliothek mit einem Programm. Nennen Sie drei Objekte, die in diesem System vorkommen können, und geben Sie jeweils zwei Attribute mit Beispielwerten an. Erklären Sie außerdem den Unterschied zwischen einem Objekt und einer Klasse.
Gegeben ist die Klasse Schueler mit den Attributen name (String), klasse (String) und alter (int) sowie den Methoden getName() und setKlasse(String neueKlasse). a)…
Gegeben ist die Klasse Schueler mit den Attributen name (String), klasse (String) und alter (int) sowie den Methoden getName() und setKlasse(String neueKlasse).
- a) Zeichnen Sie das zugehörige Klassendiagramm (als Tabelle mit drei Bereichen: Klassenname, Attribute, Methoden).
- b) Geben Sie an, welche Attribute und Methoden Sie als
privateund welche alspublicdeklarieren würden, und begründen Sie Ihre Wahl kurz.
Gegeben ist der folgende Java-Quelltext: a) Nennen Sie Klassenname, Attribute, Konstruktor und Methoden. b) Ein Objekt wird mit Fahrrad f = new Fahrrad("Lena"); erzeugt,…
Gegeben ist der folgende Java-Quelltext:
public class Fahrrad {
private String besitzer;
private int gang;
public Fahrrad(String besitzer) {
this.besitzer = besitzer;
this.gang = 1;
}
public void hochschalten() {
gang = gang + 1;
}
}
- a) Nennen Sie Klassenname, Attribute, Konstruktor und Methoden.
- b) Ein Objekt wird mit
Fahrrad f = new Fahrrad("Lena");erzeugt, danach wird zweimalf.hochschalten();aufgerufen. Geben Sie den Objektzustand (Attributwerte) nach diesen Anweisungen an.
Ein Sportverein in Münster möchte seine Mitglieder und Mannschaften verwalten. Ein Mitglied hat Name, Geburtsjahr und Beitrag (in €). Eine Mannschaft hat einen Namen und…
Ein Sportverein in Münster möchte seine Mitglieder und Mannschaften verwalten. Ein Mitglied hat Name, Geburtsjahr und Beitrag (in €). Eine Mannschaft hat einen Namen und mehrere Mitglieder; jedes Mitglied gehört zu genau einer Mannschaft.
- a) Ermitteln Sie die Klassen und ihre Attribute.
- b) Beschreiben Sie die Assoziation zwischen den Klassen einschließlich der Kardinalitäten (1 : n).
- c) Zeichnen Sie das Klassendiagramm (Textdarstellung genügt) mit Assoziation.
Implementieren Sie in Java eine Klasse Konto für eine Sparkasse in Dortmund mit dem privaten Attribut kontostand (double, Anfangswert 0,0), dem privaten Attribut inhaber…
Implementieren Sie in Java eine Klasse Konto für eine Sparkasse in Dortmund mit
-
dem privaten Attribut
kontostand(double, Anfangswert 0,0), -
dem privaten Attribut
inhaber(String), -
einem Konstruktor, der den Inhaber setzt,
-
der Methode
einzahlen(double betrag), die nur positive Beträge akzeptiert, -
der Methode
abheben(double betrag), dietruezurückgibt und den Betrag abbucht, wenn der Betrag positiv ist und der Kontostand ausreicht, sonstfalseund keine Änderung, -
der Methode
getKontostand().
Dokumentieren Sie die Methode abheben mit einem Javadoc-Kommentar.
Ein Objekt k1 der Klasse Konto aus einer Sparkasse hat den Kontostand 120,00 €, ein Objekt k2 den Kontostand 50,00 €. Die Klasse besitzt die Methode ueberweisen(Konto…
Ein Objekt k1 der Klasse Konto aus einer Sparkasse hat den Kontostand 120,00 €, ein Objekt k2 den Kontostand 50,00 €. Die Klasse besitzt die Methode ueberweisen(Konto ziel, double betrag), die vom eigenen Konto abhebt und beim Zielkonto einzahlt.
- a) Geben Sie die Kontostände von
k1undk2nachk1.ueberweisen(k2, 80);an.
- b) Geben Sie die Kontostände nach einem weiteren Aufruf
k1.ueberweisen(k2, 80);an, wenn die Methode bei zu geringem Guthaben nichts ausführt.
- c) Erklären Sie, wie hier die Kommunikation zwischen den Objekten abläuft.
Für eine Schulverwaltung in Köln sollen Personen modelliert werden. Es gibt Lehrkräfte (mit Kürzel und Fächern) und Schülerinnen und Schüler (mit Klasse und…
Für eine Schulverwaltung in Köln sollen Personen modelliert werden. Es gibt Lehrkräfte (mit Kürzel und Fächern) und Schülerinnen und Schüler (mit Klasse und Notendurchschnitt). Beide haben Name und Geburtsdatum.
- a) Entwerfen Sie ein Klassendiagramm mit einer Oberklasse
Personund zwei Unterklassen. Begründen Sie die Verteilung der Attribute.
- b) Schreiben Sie die Java-Köpfe der drei Klassen einschließlich der
extends-Beziehung und der Konstruktoren (Aufruf vonsuper).
- c) Erläutern Sie zwei Vorteile der Vererbung gegenüber getrennten, unabhängigen Klassen.
Gegeben ist: a) Ein Entwickler schreibt in einer anderen Klasse z.wert = 5;. Erklären Sie, warum dies zu einem Übersetzungsfehler führt, und beschreiben Sie das Prinzip…
Gegeben ist:
public class Zaehler {
private int wert;
public Zaehler() { wert = 0; }
public void erhoehe() { wert++; }
public int getWert() { return wert; }
}
- a) Ein Entwickler schreibt in einer anderen Klasse
z.wert = 5;. Erklären Sie, warum dies zu einem Übersetzungsfehler führt, und beschreiben Sie das Prinzip der Kapselung.
- b) Erweitern Sie die Klasse um eine Methode
setzeZurueck()und einen Konstruktor mit Startwert, der negative Startwerte durch 0 ersetzt.
- c)
Zaehler a = new Zaehler(); Zaehler b = a; a.erhoehe(); b.erhoehe();Geben Siea.getWert()an und begründen Sie das Ergebnis mit dem Unterschied zwischen Objekt und Referenz.
Ein Verleih in Hamburg vermietet Fahrräder und E-Bikes. Ein Kunde kann mehrere Fahrzeuge gleichzeitig ausleihen; ein Fahrzeug ist zu einem Zeitpunkt höchstens an einen…
Ein Verleih in Hamburg vermietet Fahrräder und E-Bikes. Ein Kunde kann mehrere Fahrzeuge gleichzeitig ausleihen; ein Fahrzeug ist zu einem Zeitpunkt höchstens an einen Kunden verliehen. E-Bikes haben zusätzlich einen Akkustand in Prozent.
- a) Ermitteln Sie die Klassen, Attribute, wichtigsten Methoden, Vererbungs- und Assoziationsbeziehungen und stellen Sie sie in einem Klassendiagramm dar (Textdarstellung).
- b) Geben Sie für die Methode
ausleihen(Fahrzeug f)der KlasseKundeeine Dokumentation (Zweck, Parameter, Rückgabe, Vorbedingung) an.
- c) Beurteilen Sie, ob der Akkustand
publicsein sollte, und begründen Sie Ihre Antwort.