02_RepetitionInheritance
Aufgaben
Autovermietung Bootsverleih Campingplatz Catering Druckerei Fahrradverleih Fahrschule Fitnessstudio Flugschule Fotoshooting Hotel Hundeschule IT-Support Kino Kochschule Lieferdienst Museum Musikschule Nachhilfeinstitut Paketversand Parkplatz Reinigungsfirma Reitschule Schwimmschule Skischule Sprachschule Taxiunternehmen Veranstaltung Webdesign Werkstatt
1. Fitnessstudio
Fitnessstudio
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Training │
├──────────────────────────────────┤
│ - dauer: int │
│ - bezeichnung: String │
│ - trainer: String │
├──────────────────────────────────┤
│ + Training(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ PersonalTraining │ │ GruppenTraining │
├────────────────────────────┤ ├────────────────────────────┤
│ - preisProEinheit: float │ │ - gesamtPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + PersonalTraining(...) │ │ + GruppenTraining(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Training
Training(dauer, bezeichnung, trainer)
Es wird ein Training mit der übergebenen Dauer, der Bezeichnung und dem Namen der Trainer:in erzeugt.
get- und set-Methoden
Die folgenden Überprüfungen der Übergabeparameter müssen erfolgen:
- Die Dauer muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
Geben Sie im Fehlerfall erklärende Meldungen auf der Systemkonsole aus.
kostenGesamt(): float
Die Methode ist hier abstrakt und muss in den ableitenden Klassen implementiert werden.
kostenProEinheit(): double
Die Methode liefert die Kosten pro Trainingseinheit zurück. Die
Gesamtkosten werden von der Methode kostenGesamt()
geliefert. Die Anzahl der Trainingseinheiten enthält das Attribut
dauer.
toString(): String
Die Methode liefert alle Informationen eines Trainings zurück.
Beispiel:
4 Einheiten, Bezeichnung: Krafttraining
Trainer:in: Julia
Kosten: 160.0 EUR, Kosten pro Einheit: 40.0 EUR
PersonalTraining
PersonalTrainings sind Trainings.
PersonalTraining(dauer, bezeichnung, trainer, preisProEinheit)
Es wird ein PersonalTraining mit den übergebenen Attribut-Werten der Superklasse Training und dem übergebenen Preis pro Einheit erzeugt.
Der Wert von preisProEinheit muss größer als
0.0 sein.
kostenGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Die Kosten eines PersonalTrainings sind die Dauer des Trainings multipliziert mit dem Preis pro Einheit.
toString(): String
Die Methode liefert alle Informationen eines PersonalTrainings
beginnend mit dem Text PersonalTraining: zurück.
GruppenTraining
GruppenTrainings sind Trainings.
GruppenTraining(dauer, bezeichnung, trainer, gesamtPreis)
Es wird ein GruppenTraining mit den übergebenen Attribut-Werten der Superklasse und dem übergebenen Gesamtpreis erzeugt.
Der Wert von gesamtPreis muss größer als
0.0 sein.
kostenGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Die
Kosten eines GruppenTrainings sind der Wert des Attributs
gesamtPreis.
toString(): String
Die Methode liefert alle Informationen eines GruppenTrainings
beginnend mit dem Text GruppenTraining: zurück.
2. Sprachschule
Sprachschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ SprachKurs │
├──────────────────────────────────┤
│ - stunden: int │
│ - sprache: String │
│ - lehrkraft: String │
├──────────────────────────────────┤
│ + SprachKurs(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelKurs │ │ IntensivKurs │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelKurs(...) │ │ + IntensivKurs(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse SprachKurs
SprachKurs(stunden, sprache, lehrkraft)
Es wird ein Sprachkurs mit der übergebenen Anzahl an Stunden, der Sprache und dem Namen der Lehrkraft erzeugt.
get- und set-Methoden
Die folgenden Überprüfungen der Übergabeparameter müssen erfolgen:
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
Geben Sie im Fehlerfall erklärende Meldungen auf der Systemkonsole aus.
preisGesamt(): float
Die Methode ist hier abstrakt und muss in den ableitenden Klassen implementiert werden.
preisProStunde(): double
Die Methode liefert den Preis pro Unterrichtsstunde zurück. Der
Gesamtpreis wird von der Methode preisGesamt() geliefert.
Die Anzahl der Stunden enthält das Attribut stunden.
toString(): String
Die Methode liefert alle Informationen eines Sprachkurses zurück.
Beispiel:
10 Stunden, Sprache: Spanisch
Lehrkraft: Maria
Preis: 300.0 EUR, Preis pro Stunde: 30.0 EUR
EinzelKurs
EinzelKurse sind SprachKurse.
EinzelKurs(stunden, sprache, lehrkraft, stundenPreis)
Es wird ein EinzelKurs mit den übergebenen Attribut-Werten der Superklasse SprachKurs und dem übergebenen Stundenpreis erzeugt.
Der Wert von stundenPreis muss größer als
0.0 sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der Preis eines EinzelKurses ist die Anzahl der Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Methode liefert alle Informationen eines EinzelKurses beginnend
mit dem Text EinzelKurs: zurück.
IntensivKurs
IntensivKurse sind SprachKurse.
IntensivKurs(stunden, sprache, lehrkraft, paketPreis)
Es wird ein IntensivKurs mit den übergebenen Attribut-Werten der Superklasse und dem übergebenen Paketpreis erzeugt.
Der Wert von paketPreis muss größer als 0.0
sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der
Preis eines IntensivKurses ist der Wert des Attributs
paketPreis.
toString(): String
Die Methode liefert alle Informationen eines IntensivKurses beginnend
mit dem Text IntensivKurs: zurück.
3. Hotel
Hotel
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Buchung │
├──────────────────────────────────┤
│ - naechte: int │
│ - gast: String │
│ - zimmer: String │
├──────────────────────────────────┤
│ + Buchung(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProNacht(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StandardBuchung │ │ PauschalBuchung │
├────────────────────────────┤ ├────────────────────────────┤
│ - nachtPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StandardBuchung(...) │ │ + PauschalBuchung(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Buchung
Buchung(naechte, gast, zimmer)
Es wird eine Buchung mit der übergebenen Anzahl der Nächte, dem Namen des Gastes und der Zimmerbezeichnung erzeugt.
get- und set-Methoden
Die folgenden Überprüfungen der Übergabeparameter müssen erfolgen:
- Die Anzahl der Nächte muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
Geben Sie im Fehlerfall erklärende Meldungen auf der Systemkonsole aus.
preisGesamt(): float
Die Methode ist hier abstrakt und muss in den ableitenden Klassen implementiert werden.
preisProNacht(): double
Die Methode liefert den Preis pro Nacht zurück. Der Gesamtpreis wird
von der Methode preisGesamt() geliefert. Die Anzahl der
Nächte enthält das Attribut naechte.
toString(): String
Die Methode liefert alle Informationen einer Buchung zurück.
Beispiel:
3 Nächte, Zimmer: Doppelzimmer
Gast: Anna
Preis: 360.0 EUR, Preis pro Nacht: 120.0 EUR
StandardBuchung
StandardBuchungen sind Buchungen.
StandardBuchung(naechte, gast, zimmer, nachtPreis)
Es wird eine StandardBuchung mit den übergebenen Attribut-Werten der Superklasse Buchung und dem übergebenen Preis pro Nacht erzeugt.
Der Wert von nachtPreis muss größer als 0.0
sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der Gesamtpreis einer StandardBuchung ist die Anzahl der Nächte multipliziert mit dem Preis pro Nacht.
toString(): String
Die Methode liefert alle Informationen einer StandardBuchung
beginnend mit dem Text StandardBuchung: zurück.
PauschalBuchung
PauschalBuchungen sind Buchungen.
PauschalBuchung(naechte, gast, zimmer, paketPreis)
Es wird eine PauschalBuchung mit den übergebenen Attribut-Werten der Superklasse und dem übergebenen Paketpreis erzeugt.
Der Wert von paketPreis muss größer als 0.0
sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der
Gesamtpreis entspricht dem Wert des Attributs
paketPreis.
toString(): String
Die Methode liefert alle Informationen einer PauschalBuchung
beginnend mit dem Text PauschalBuchung: zurück.
4. Autovermietung
Autovermietung
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Miete │
├──────────────────────────────────┤
│ - tage: int │
│ - fahrzeug: String │
│ - kunde: String │
├──────────────────────────────────┤
│ + Miete(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProTag(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ TagesMiete │ │ PauschalMiete │
├────────────────────────────┤ ├────────────────────────────┤
│ - tagesPreis: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + TagesMiete(...) │ │ + PauschalMiete(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Miete
Miete(tage, fahrzeug, kunde)
Es wird eine Miete mit der übergebenen Anzahl der Tage, der Fahrzeugbezeichnung und dem Namen der Kund:in erzeugt.
get- und set-Methoden
- Die Anzahl der Tage muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
Geben Sie im Fehlerfall erklärende Meldungen auf der Systemkonsole aus.
preisGesamt(): float
Die Methode ist hier abstrakt und muss in den ableitenden Klassen implementiert werden.
preisProTag(): double
Die Methode liefert den Preis pro Miettag zurück. Der Gesamtpreis
wird von der Methode preisGesamt() geliefert.
toString(): String
Beispiel:
5 Tage, Fahrzeug: VW Golf
Kund:in: Martin
Preis: 350.0 EUR, Preis pro Tag: 70.0 EUR
TagesMiete
TagesMieten sind Mieten.
TagesMiete(tage, fahrzeug, kunde, tagesPreis)
Der Wert von tagesPreis muss größer als 0.0
sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Tage multipliziert mit dem Tagespreis.
toString(): String
Die Ausgabe beginnt mit TagesMiete:.
PauschalMiete
PauschalMieten sind Mieten.
PauschalMiete(tage, fahrzeug, kunde, pauschale)
Der Wert von pauschale muss größer als 0.0
sein.
preisGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PauschalMiete:.
5. Musikschule
Musikschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ MusikUnterricht │
├──────────────────────────────────┤
│ - einheiten: int │
│ - instrument: String │
│ - lehrkraft: String │
├──────────────────────────────────┤
│ + MusikUnterricht(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelUnterricht │ │ GruppenUnterricht │
├────────────────────────────┤ ├────────────────────────────┤
│ - einzelPreis: float │ │ - kursPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelUnterricht(...) │ │ + GruppenUnterricht(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse MusikUnterricht
MusikUnterricht(einheiten, instrument, lehrkraft)
Es wird ein Musikunterricht mit der übergebenen Anzahl der Einheiten, dem Instrument und dem Namen der Lehrkraft erzeugt.
get- und set-Methoden
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProEinheit(): double
Die Methode liefert den Preis pro Unterrichtseinheit zurück. Der
Gesamtpreis wird von der Methode preisGesamt()
geliefert.
toString(): String
Beispiel:
8 Einheiten, Instrument: Klavier
Lehrkraft: Thomas
Preis: 320.0 EUR, Preis pro Einheit: 40.0 EUR
EinzelUnterricht
EinzelUnterrichte sind MusikUnterrichte.
EinzelUnterricht(einheiten, instrument, lehrkraft, einzelPreis)
Der Einzelpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Einzelpreis.
toString(): String
Die Ausgabe beginnt mit EinzelUnterricht:.
GruppenUnterricht
GruppenUnterrichte sind MusikUnterrichte.
GruppenUnterricht(einheiten, instrument, lehrkraft, kursPreis)
Der Kurspreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Kurspreis.
toString(): String
Die Ausgabe beginnt mit GruppenUnterricht:.
6. Nachhilfeinstitut
Nachhilfeinstitut
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Nachhilfe │
├──────────────────────────────────┤
│ - stunden: int │
│ - fach: String │
│ - lehrer: String │
├──────────────────────────────────┤
│ + Nachhilfe(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelNachhilfe │ │ GruppenNachhilfe │
├────────────────────────────┤ ├────────────────────────────┤
│ - preis: float │ │ - gesamt: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelNachhilfe(...) │ │ + GruppenNachhilfe(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Nachhilfe
Nachhilfe(stunden, fach, lehrer)
Es wird eine Nachhilfe mit der übergebenen Anzahl der Stunden, dem Fach und dem Namen der Lehrer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Stunde zurück.
toString(): String
Beispiel:
6 Stunden, Fach: Mathematik
Lehrer:in: Stefan
Kosten: 180.0 EUR, Kosten pro Stunde: 30.0 EUR
EinzelNachhilfe
EinzelNachhilfen sind Nachhilfen.
EinzelNachhilfe(stunden, fach, lehrer, preis)
Der Preis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind die Anzahl der Stunden multipliziert mit dem Preis.
toString(): String
Die Ausgabe beginnt mit EinzelNachhilfe:.
GruppenNachhilfe
GruppenNachhilfen sind Nachhilfen.
GruppenNachhilfe(stunden, fach, lehrer, gesamt)
Der Gesamtpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Wert des Attributs gesamt.
toString(): String
Die Ausgabe beginnt mit GruppenNachhilfe:.
7. Parkplatz
Parkplatz
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ ParkVorgang │
├──────────────────────────────────┤
│ - stunden: int │
│ - kennzeichen: String │
│ - parkplatz: String │
├──────────────────────────────────┤
│ + ParkVorgang(...) │
│ + get-/set-Methoden │
│ + gebuehrGesamt(): float │
│ + gebuehrProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ KurzParker │ │ TagesParker │
├────────────────────────────┤ ├────────────────────────────┤
│ - tarif: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + KurzParker(...) │ │ + TagesParker(...) │
│ + gebuehrGesamt(): float │ │ + gebuehrGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse ParkVorgang
ParkVorgang(stunden, kennzeichen, parkplatz)
Es wird ein Parkvorgang mit der übergebenen Anzahl der Stunden, dem Kennzeichen und der Parkplatzbezeichnung erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
gebuehrGesamt(): float
Die Methode ist abstrakt.
gebuehrProStunde(): double
Die Methode liefert die Gebühr pro Stunde zurück.
toString(): String
Beispiel:
3 Stunden, Kennzeichen: W-12345
Parkplatz: Zentrum
Gebühr: 9.0 EUR, Gebühr pro Stunde: 3.0 EUR
KurzParker
KurzParker sind ParkVorgänge.
KurzParker(stunden, kennzeichen, parkplatz, tarif)
Der Tarif muss größer als 0.0 sein.
gebuehrGesamt(): float
Die Gesamtgebühr ist die Anzahl der Stunden multipliziert mit dem Tarif.
toString(): String
Die Ausgabe beginnt mit KurzParker:.
TagesParker
TagesParker sind ParkVorgänge.
TagesParker(stunden, kennzeichen, parkplatz, pauschale)
Die Pauschale muss größer als 0.0 sein.
gebuehrGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit TagesParker:.
8. Fahrradverleih
Fahrradverleih
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ FahrradMiete │
├──────────────────────────────────┤
│ - stunden: int │
│ - fahrrad: String │
│ - kunde: String │
├──────────────────────────────────┤
│ + FahrradMiete(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenMiete │ │ PaketMiete │
├────────────────────────────┤ ├────────────────────────────┤
│ - preis: float │ │ - paket: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenMiete(...) │ │ + PaketMiete(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse FahrradMiete
FahrradMiete(stunden, fahrrad, kunde)
Es wird eine FahrradMiete mit der übergebenen Anzahl der Stunden, der Fahrradbezeichnung und dem Namen der Kund:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProStunde(): double
Die Methode liefert den Preis pro Stunde zurück.
toString(): String
Beispiel:
5 Stunden, Fahrrad: Trekkingrad
Kund:in: Sarah
Preis: 50.0 EUR, Preis pro Stunde: 10.0 EUR
StundenMiete
StundenMieten sind FahrradMieten.
StundenMiete(stunden, fahrrad, kunde, preis)
Der Preis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Stunden multipliziert mit dem Preis.
toString(): String
Die Ausgabe beginnt mit StundenMiete:.
PaketMiete
PaketMieten sind FahrradMieten.
PaketMiete(stunden, fahrrad, kunde, paket)
Der Paketpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit PaketMiete:.
9. Kino
Kino
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Vorstellung │
├──────────────────────────────────┤
│ - tickets: int │
│ - film: String │
│ - saal: String │
├──────────────────────────────────┤
│ + Vorstellung(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProTicket(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ NormalVorstellung │ │ SonderVorstellung │
├────────────────────────────┤ ├────────────────────────────┤
│ - ticketPreis: float │ │ - gruppenPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + NormalVorstellung(...) │ │ + SonderVorstellung(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Vorstellung
Vorstellung(tickets, film, saal)
Es wird eine Vorstellung mit der übergebenen Anzahl der Tickets, dem Film und dem Saal erzeugt.
get- und set-Methoden
- Die Anzahl der Tickets muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProTicket(): double
Die Methode liefert den Preis pro Ticket zurück.
toString(): String
Beispiel:
4 Tickets, Film: Inception
Saal: 3
Preis: 48.0 EUR, Preis pro Ticket: 12.0 EUR
NormalVorstellung
NormalVorstellungen sind Vorstellungen.
NormalVorstellung(tickets, film, saal, ticketPreis)
Der Ticketpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Ticketanzahl multipliziert mit dem Ticketpreis.
toString(): String
Die Ausgabe beginnt mit NormalVorstellung:.
SonderVorstellung
SonderVorstellungen sind Vorstellungen.
SonderVorstellung(tickets, film, saal, gruppenPreis)
Der Gruppenpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Gruppenpreis.
toString(): String
Die Ausgabe beginnt mit SonderVorstellung:.
10. Museum
Museum
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Fuehrung │
├──────────────────────────────────┤
│ - teilnehmer: int │
│ - thema: String │
│ - guide: String │
├──────────────────────────────────┤
│ + Fuehrung(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProPerson(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ PersonenFuehrung │ │ PrivatFuehrung │
├────────────────────────────┤ ├────────────────────────────┤
│ - preis: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + PersonenFuehrung(...) │ │ + PrivatFuehrung(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Fuehrung
Fuehrung(teilnehmer, thema, guide)
Es wird eine Führung mit der übergebenen Anzahl der Teilnehmer:innen, dem Thema und dem Namen des Guides erzeugt.
get- und set-Methoden
- Die Anzahl der Teilnehmer:innen muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProPerson(): double
Die Methode liefert den Preis pro Person zurück.
toString(): String
Beispiel:
10 Teilnehmer:innen, Thema: Römerzeit
Guide: Anna
Preis: 100.0 EUR, Preis pro Person: 10.0 EUR
PersonenFuehrung
PersonenFuehrungen sind Fuehrungen.
PersonenFuehrung(teilnehmer, thema, guide, preis)
Der Preis pro Person muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Teilnehmer:innen multipliziert mit dem Preis.
toString(): String
Die Ausgabe beginnt mit PersonenFuehrung:.
PrivatFuehrung
PrivatFuehrungen sind Fuehrungen.
PrivatFuehrung(teilnehmer, thema, guide, pauschale)
Die Pauschale muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PrivatFuehrung:.
11. Schwimmschule
Schwimmschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ SchwimmKurs │
├──────────────────────────────────┤
│ - einheiten: int │
│ - niveau: String │
│ - trainer: String │
├──────────────────────────────────┤
│ + SchwimmKurs(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelSchwimmkurs │ │ GruppenSchwimmkurs │
├────────────────────────────┤ ├────────────────────────────┤
│ - einzelPreis: float │ │ - kursPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelSchwimmkurs(...) │ │ + GruppenSchwimmkurs(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse SchwimmKurs
SchwimmKurs(einheiten, niveau, trainer)
Es wird ein Schwimmkurs mit der übergebenen Anzahl der Einheiten, dem Niveau und dem Namen der Trainer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProEinheit(): double
Die Methode liefert den Preis pro Einheit zurück.
toString(): String
Beispiel:
6 Einheiten, Niveau: Anfänger
Trainer:in: Paul
Preis: 180.0 EUR, Preis pro Einheit: 30.0 EUR
EinzelSchwimmkurs
EinzelSchwimmkurse sind SchwimmKurse.
EinzelSchwimmkurs(einheiten, niveau, trainer, einzelPreis)
Der Einzelpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Einzelpreis.
toString(): String
Die Ausgabe beginnt mit EinzelSchwimmkurs:.
GruppenSchwimmkurs
GruppenSchwimmkurse sind SchwimmKurse.
GruppenSchwimmkurs(einheiten, niveau, trainer, kursPreis)
Der Kurspreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Kurspreis.
toString(): String
Die Ausgabe beginnt mit GruppenSchwimmkurs:.
12. Skischule
Skischule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ SkiKurs │
├──────────────────────────────────┤
│ - stunden: int │
│ - niveau: String │
│ - skiLehrer: String │
├──────────────────────────────────┤
│ + SkiKurs(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ PrivatSkiKurs │ │ GruppenSkiKurs │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - kursPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + PrivatSkiKurs(...) │ │ + GruppenSkiKurs(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse SkiKurs
SkiKurs(stunden, niveau, skiLehrer)
Es wird ein SkiKurs mit der übergebenen Anzahl der Stunden, dem Niveau und dem Namen der Skilehrer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Stunde zurück.
toString(): String
Beispiel:
4 Stunden, Niveau: Fortgeschritten
Skilehrer:in: Lukas
Kosten: 240.0 EUR, Kosten pro Stunde: 60.0 EUR
PrivatSkiKurs
PrivatSkiKurse sind SkiKurse.
PrivatSkiKurs(stunden, niveau, skiLehrer, stundenPreis)
Der Stundenpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind die Anzahl der Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Ausgabe beginnt mit PrivatSkiKurs:.
GruppenSkiKurs
GruppenSkiKurse sind SkiKurse.
GruppenSkiKurs(stunden, niveau, skiLehrer, kursPreis)
Der Kurspreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Kurspreis.
toString(): String
Die Ausgabe beginnt mit GruppenSkiKurs:.
13. Fotoshooting
Fotoshooting
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Shooting │
├──────────────────────────────────┤
│ - stunden: int │
│ - kunde: String │
│ - fotograf: String │
├──────────────────────────────────┤
│ + Shooting(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenShooting │ │ PaketShooting │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenShooting(...) │ │ + PaketShooting(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Shooting
Shooting(stunden, kunde, fotograf)
Es wird ein Shooting mit der übergebenen Anzahl der Stunden, dem Namen der Kund:in und dem Namen der Fotograf:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Stunde zurück.
toString(): String
Beispiel:
3 Stunden, Kund:in: Eva
Fotograf:in: Michael
Kosten: 300.0 EUR, Kosten pro Stunde: 100.0 EUR
StundenShooting
StundenShootings sind Shootings.
StundenShooting(stunden, kunde, fotograf, stundenPreis)
Der Stundenpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Ausgabe beginnt mit StundenShooting:.
PaketShooting
PaketShootings sind Shootings.
PaketShooting(stunden, kunde, fotograf, paketPreis)
Der Paketpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit PaketShooting:.
14. Reinigungsfirma
Reinigungsfirma
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Reinigung │
├──────────────────────────────────┤
│ - stunden: int │
│ - objekt: String │
│ - firma: String │
├──────────────────────────────────┤
│ + Reinigung(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenReinigung │ │ PauschalReinigung │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenSatz: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenReinigung(...) │ │ + PauschalReinigung(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Reinigung
Reinigung(stunden, objekt, firma)
Es wird eine Reinigung mit der übergebenen Anzahl der Stunden, der Objektbezeichnung und dem Namen der Firma erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Stunde zurück.
toString(): String
Beispiel:
5 Stunden, Objekt: Büro
Firma: Sauber GmbH
Kosten: 150.0 EUR, Kosten pro Stunde: 30.0 EUR
StundenReinigung
StundenReinigungen sind Reinigungen.
StundenReinigung(stunden, objekt, firma, stundenSatz)
Der Stundensatz muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Stunden multipliziert mit dem Stundensatz.
toString(): String
Die Ausgabe beginnt mit StundenReinigung:.
PauschalReinigung
PauschalReinigungen sind Reinigungen.
PauschalReinigung(stunden, objekt, firma, pauschale)
Die Pauschale muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PauschalReinigung:.
15. Lieferdienst
Lieferdienst
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Lieferung │
├──────────────────────────────────┤
│ - kilometer: int │
│ - ziel: String │
│ - fahrer: String │
├──────────────────────────────────┤
│ + Lieferung(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProKilometer(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ KilometerLieferung │ │ PauschalLieferung │
├────────────────────────────┤ ├────────────────────────────┤
│ - kilometerPreis: float │ │ - pauschalPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + KilometerLieferung(...) │ │ + PauschalLieferung(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Lieferung
Lieferung(kilometer, ziel, fahrer)
Es wird eine Lieferung mit der übergebenen Anzahl der Kilometer, dem Ziel und dem Namen der Fahrer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Kilometer muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProKilometer(): double
Die Methode liefert die Kosten pro Kilometer zurück.
toString(): String
Beispiel:
20 Kilometer, Ziel: Baden
Fahrer:in: Lukas
Kosten: 30.0 EUR, Kosten pro Kilometer: 1.5 EUR
KilometerLieferung
KilometerLieferungen sind Lieferungen.
KilometerLieferung(kilometer, ziel, fahrer, kilometerPreis)
Der Kilometerpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Kilometer multipliziert mit dem Kilometerpreis.
toString(): String
Die Ausgabe beginnt mit KilometerLieferung:.
PauschalLieferung
PauschalLieferungen sind Lieferungen.
PauschalLieferung(kilometer, ziel, fahrer, pauschalPreis)
Der Pauschalpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Pauschalpreis.
toString(): String
Die Ausgabe beginnt mit PauschalLieferung:.
16. Taxiunternehmen
Taxiunternehmen
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Fahrt │
├──────────────────────────────────┤
│ - kilometer: int │
│ - start: String │
│ - ziel: String │
├──────────────────────────────────┤
│ + Fahrt(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProKilometer(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ TaxiFahrt │ │ FixpreisFahrt │
├────────────────────────────┤ ├────────────────────────────┤
│ - kilometerPreis: float │ │ - fixPreis: float │
│ - grundGebuehr: float │ │ │
├────────────────────────────┤ ├────────────────────────────┤
│ + TaxiFahrt(...) │ │ + FixpreisFahrt(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Fahrt
Fahrt(kilometer, start, ziel)
Es wird eine Fahrt mit der übergebenen Anzahl der Kilometer, dem Start und dem Ziel erzeugt.
get- und set-Methoden
- Die Kilometer müssen mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProKilometer(): double
Die Methode liefert den Preis pro Kilometer zurück.
toString(): String
Beispiel:
12 Kilometer, Start: Hauptbahnhof
Ziel: Flughafen
Preis: 36.0 EUR, Preis pro Kilometer: 3.0 EUR
TaxiFahrt
TaxiFahrten sind Fahrten.
TaxiFahrt(kilometer, start, ziel, kilometerPreis, grundGebuehr)
Kilometerpreis und Grundgebühr müssen größer als 0.0
sein.
preisGesamt(): float
Der Gesamtpreis ergibt sich aus Grundgebühr plus Kilometer multipliziert mit Kilometerpreis.
toString(): String
Die Ausgabe beginnt mit TaxiFahrt:.
FixpreisFahrt
FixpreisFahrten sind Fahrten.
FixpreisFahrt(kilometer, start, ziel, fixPreis)
Der Fixpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Fixpreis.
toString(): String
Die Ausgabe beginnt mit FixpreisFahrt:.
17. Paketversand
Paketversand
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Versand │
├──────────────────────────────────┤
│ - gewicht: int │
│ - empfaenger: String │
│ - land: String │
├──────────────────────────────────┤
│ + Versand(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProKg(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ GewichtsVersand │ │ PauschalVersand │
├────────────────────────────┤ ├────────────────────────────┤
│ - preisProKg: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + GewichtsVersand(...) │ │ + PauschalVersand(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Versand
Versand(gewicht, empfaenger, land)
Es wird ein Versand mit dem übergebenen Gewicht, dem Namen der Empfänger:in und dem Zielland erzeugt.
get- und set-Methoden
- Das Gewicht muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProKg(): double
Die Methode liefert die Kosten pro Kilogramm zurück.
toString(): String
Beispiel:
5 kg, Empfänger: Max
Land: Deutschland
Kosten: 25.0 EUR, Kosten pro kg: 5.0 EUR
GewichtsVersand
GewichtsVersände sind Versände.
GewichtsVersand(gewicht, empfaenger, land, preisProKg)
Der Preis pro Kilogramm muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Gewicht multipliziert mit dem Preis pro Kilogramm.
toString(): String
Die Ausgabe beginnt mit GewichtsVersand:.
PauschalVersand
PauschalVersände sind Versände.
PauschalVersand(gewicht, empfaenger, land, pauschale)
Die Pauschale muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PauschalVersand:.
18. Campingplatz
Campingplatz
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Aufenthalt │
├──────────────────────────────────┤
│ - naechte: int │
│ - gast: String │
│ - platz: String │
├──────────────────────────────────┤
│ + Aufenthalt(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProNacht(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ ZeltAufenthalt │ │ WohnmobilAufenthalt │
├────────────────────────────┤ ├────────────────────────────┤
│ - nachtPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + ZeltAufenthalt(...) │ │ + WohnmobilAufenthalt(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Aufenthalt
Aufenthalt(naechte, gast, platz)
Es wird ein Aufenthalt mit der übergebenen Anzahl der Nächte, dem Namen des Gastes und dem Platz erzeugt.
get- und set-Methoden
- Die Anzahl der Nächte muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProNacht(): double
Die Methode liefert den Preis pro Nacht zurück.
toString(): String
Beispiel:
4 Nächte, Platz: A12
Gast: Maria
Preis: 80.0 EUR, Preis pro Nacht: 20.0 EUR
ZeltAufenthalt
ZeltAufenthalte sind Aufenthalte.
ZeltAufenthalt(naechte, gast, platz, nachtPreis)
Der Nachtpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist Nächte multipliziert mit dem Nachtpreis.
toString(): String
Die Ausgabe beginnt mit ZeltAufenthalt:.
WohnmobilAufenthalt
WohnmobilAufenthalte sind Aufenthalte.
WohnmobilAufenthalt(naechte, gast, platz, paketPreis)
Der Paketpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit WohnmobilAufenthalt:.
19. Hundeschule
Hundeschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ HundeTraining │
├──────────────────────────────────┤
│ - einheiten: int │
│ - hund: String │
│ - trainer: String │
├──────────────────────────────────┤
│ + HundeTraining(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelTraining │ │ GruppenTraining │
├────────────────────────────┤ ├────────────────────────────┤
│ - einzelPreis: float │ │ - kursPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelTraining(...) │ │ + GruppenTraining(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse HundeTraining
HundeTraining(einheiten, hund, trainer)
Es wird ein HundeTraining mit der übergebenen Anzahl der Einheiten, dem Namen des Hundes und dem Namen der Trainer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProEinheit(): double
Die Methode liefert den Preis pro Einheit zurück.
toString(): String
Beispiel:
5 Einheiten, Hund: Bello
Trainer:in: Lisa
Preis: 150.0 EUR, Preis pro Einheit: 30.0 EUR
EinzelTraining
EinzelTrainings sind HundeTrainings.
EinzelTraining(einheiten, hund, trainer, einzelPreis)
Der Einzelpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Einzelpreis.
toString(): String
Die Ausgabe beginnt mit EinzelTraining:.
GruppenTraining
GruppenTrainings sind HundeTrainings.
GruppenTraining(einheiten, hund, trainer, kursPreis)
Der Kurspreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Kurspreis.
toString(): String
Die Ausgabe beginnt mit GruppenTraining:.
20. Reitschule
Reitschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ ReitKurs │
├──────────────────────────────────┤
│ - einheiten: int │
│ - schueler: String │
│ - pferd: String │
├──────────────────────────────────┤
│ + ReitKurs(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelReitstunde │ │ ReitPaket │
├────────────────────────────┤ ├────────────────────────────┤
│ - einzelPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelReitstunde(...) │ │ + ReitPaket(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse ReitKurs
ReitKurs(einheiten, schueler, pferd)
Es wird ein ReitKurs mit der übergebenen Anzahl der Einheiten, dem Namen der Schüler:in und dem Namen des Pferdes erzeugt.
get- und set-Methoden
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProEinheit(): double
Die Methode liefert den Preis pro Einheit zurück.
toString(): String
Beispiel:
6 Einheiten, Schüler:in: Anna
Pferd: Luna
Preis: 240.0 EUR, Preis pro Einheit: 40.0 EUR
EinzelReitstunde
EinzelReitstunden sind ReitKurse.
EinzelReitstunde(einheiten, schueler, pferd, einzelPreis)
Der Einzelpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Einzelpreis.
toString(): String
Die Ausgabe beginnt mit EinzelReitstunde:.
ReitPaket
ReitPakete sind ReitKurse.
ReitPaket(einheiten, schueler, pferd, paketPreis)
Der Paketpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit ReitPaket:.
21. Werkstatt
Werkstatt
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Reparatur │
├──────────────────────────────────┤
│ - arbeitsStunden: int │
│ - fahrzeug: String │
│ - mechaniker: String │
├──────────────────────────────────┤
│ + Reparatur(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenReparatur │ │ FixpreisReparatur │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenSatz: float │ │ - fixPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenReparatur(...) │ │ + FixpreisReparatur(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Reparatur
Reparatur(arbeitsStunden, fahrzeug, mechaniker)
Es wird eine Reparatur mit der übergebenen Anzahl der Arbeitsstunden, dem Fahrzeug und dem Namen der Mechaniker:in erzeugt.
get- und set-Methoden
- Die Anzahl der Arbeitsstunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Arbeitsstunde zurück.
toString(): String
Beispiel:
3 Arbeitsstunden, Fahrzeug: Ford Focus
Mechaniker:in: Markus
Kosten: 240.0 EUR, Kosten pro Stunde: 80.0 EUR
StundenReparatur
StundenReparaturen sind Reparaturen.
StundenReparatur(arbeitsStunden, fahrzeug, mechaniker, stundenSatz)
Der Stundensatz muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Arbeitsstunden multipliziert mit dem Stundensatz.
toString(): String
Die Ausgabe beginnt mit StundenReparatur:.
FixpreisReparatur
FixpreisReparaturen sind Reparaturen.
FixpreisReparatur(arbeitsStunden, fahrzeug, mechaniker, fixPreis)
Der Fixpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Fixpreis.
toString(): String
Die Ausgabe beginnt mit FixpreisReparatur:.
22. IT-Support
IT-Support
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ SupportAuftrag │
├──────────────────────────────────┤
│ - stunden: int │
│ - kunde: String │
│ - techniker: String │
├──────────────────────────────────┤
│ + SupportAuftrag(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenSupport │ │ SupportPaket │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenSupport(...) │ │ + SupportPaket(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse SupportAuftrag
SupportAuftrag(stunden, kunde, techniker)
Es wird ein SupportAuftrag mit der übergebenen Anzahl der Stunden, dem Namen der Kund:in und dem Namen der Techniker:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Supportstunde zurück.
toString(): String
Beispiel:
4 Stunden, Kund:in: Firma Muster
Techniker:in: Daniel
Kosten: 320.0 EUR, Kosten pro Stunde: 80.0 EUR
StundenSupport
StundenSupport-Aufträge sind SupportAufträge.
StundenSupport(stunden, kunde, techniker, stundenPreis)
Der Stundenpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Ausgabe beginnt mit StundenSupport:.
SupportPaket
SupportPakete sind SupportAufträge.
SupportPaket(stunden, kunde, techniker, paketPreis)
Der Paketpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit SupportPaket:.
23. Webdesign
Webdesign
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ WebProjekt │
├──────────────────────────────────┤
│ - stunden: int │
│ - projektName: String │
│ - entwickler: String │
├──────────────────────────────────┤
│ + WebProjekt(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenProjekt │ │ FixpreisProjekt │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenSatz: float │ │ - fixPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenProjekt(...) │ │ + FixpreisProjekt(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse WebProjekt
WebProjekt(stunden, projektName, entwickler)
Es wird ein WebProjekt mit der übergebenen Anzahl der Stunden, dem Projektnamen und dem Namen der Entwickler:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProStunde(): double
Die Methode liefert die Kosten pro Arbeitsstunde zurück.
toString(): String
Beispiel:
20 Stunden, Projekt: Firmenwebsite
Entwickler:in: Lena
Kosten: 1200.0 EUR, Kosten pro Stunde: 60.0 EUR
StundenProjekt
StundenProjekte sind WebProjekte.
StundenProjekt(stunden, projektName, entwickler, stundenSatz)
Der Stundensatz muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind Stunden multipliziert mit dem Stundensatz.
toString(): String
Die Ausgabe beginnt mit StundenProjekt:.
FixpreisProjekt
FixpreisProjekte sind WebProjekte.
FixpreisProjekt(stunden, projektName, entwickler, fixPreis)
Der Fixpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Fixpreis.
toString(): String
Die Ausgabe beginnt mit FixpreisProjekt:.
24. Druckerei
Druckerei
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ DruckAuftrag │
├──────────────────────────────────┤
│ - anzahl: int │
│ - produkt: String │
│ - kunde: String │
├──────────────────────────────────┤
│ + DruckAuftrag(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProStueck(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StueckDruck │ │ PauschalDruck │
├────────────────────────────┤ ├────────────────────────────┤
│ - stueckPreis: float │ │ - auftragPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StueckDruck(...) │ │ + PauschalDruck(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse DruckAuftrag
DruckAuftrag(anzahl, produkt, kunde)
Es wird ein DruckAuftrag mit der übergebenen Anzahl, der Produktbezeichnung und dem Namen der Kund:in erzeugt.
get- und set-Methoden
- Die Anzahl muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProStueck(): double
Die Methode liefert den Preis pro Stück zurück.
toString(): String
Beispiel:
100 Stück, Produkt: Flyer
Kund:in: Firma Beispiel
Preis: 50.0 EUR, Preis pro Stück: 0.5 EUR
StueckDruck
StueckDruck-Aufträge sind DruckAufträge.
StueckDruck(anzahl, produkt, kunde, stueckPreis)
Der Stückpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl multipliziert mit dem Stückpreis.
toString(): String
Die Ausgabe beginnt mit StueckDruck:.
PauschalDruck
PauschalDruck-Aufträge sind DruckAufträge.
PauschalDruck(anzahl, produkt, kunde, auftragPreis)
Der Auftragspreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Auftragspreis.
toString(): String
Die Ausgabe beginnt mit PauschalDruck:.
25. Catering
Catering
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ CateringAuftrag │
├──────────────────────────────────┤
│ - personen: int │
│ - veranstaltung: String │
│ - kunde: String │
├──────────────────────────────────┤
│ + CateringAuftrag(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProPerson(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ PersonenCatering │ │ PauschalCatering │
├────────────────────────────┤ ├────────────────────────────┤
│ - personenPreis: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + PersonenCatering(...) │ │ + PauschalCatering(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse CateringAuftrag
CateringAuftrag(personen, veranstaltung, kunde)
Es wird ein CateringAuftrag mit der übergebenen Anzahl der Personen, der Veranstaltung und dem Namen der Kund:in erzeugt.
get- und set-Methoden
- Die Anzahl der Personen muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProPerson(): double
Die Methode liefert den Preis pro Person zurück.
toString(): String
Beispiel:
20 Personen, Veranstaltung: Geburtstag
Kund:in: Sandra
Preis: 600.0 EUR, Preis pro Person: 30.0 EUR
PersonenCatering
PersonenCaterings sind CateringAufträge.
PersonenCatering(personen, veranstaltung, kunde, personenPreis)
Der Personenpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Personen multipliziert mit dem Personenpreis.
toString(): String
Die Ausgabe beginnt mit PersonenCatering:.
PauschalCatering
PauschalCaterings sind CateringAufträge.
PauschalCatering(personen, veranstaltung, kunde, pauschale)
Die Pauschale muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PauschalCatering:.
26. Veranstaltung
Veranstaltung
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ Event │
├──────────────────────────────────┤
│ - teilnehmer: int │
│ - bezeichnung: String │
│ - veranstalter: String │
├──────────────────────────────────┤
│ + Event(...) │
│ + get-/set-Methoden │
│ + kostenGesamt(): float │
│ + kostenProTeilnehmer(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ TeilnehmerEvent │ │ PauschalEvent │
├────────────────────────────┤ ├────────────────────────────┤
│ - teilnehmerPreis: float │ │ - pauschalPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + TeilnehmerEvent(...) │ │ + PauschalEvent(...) │
│ + kostenGesamt(): float │ │ + kostenGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse Event
Event(teilnehmer, bezeichnung, veranstalter)
Es wird ein Event mit der übergebenen Anzahl der Teilnehmer:innen, der Bezeichnung und dem Namen der Veranstalter:in erzeugt.
get- und set-Methoden
- Die Anzahl der Teilnehmer:innen muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
kostenGesamt(): float
Die Methode ist abstrakt.
kostenProTeilnehmer(): double
Die Methode liefert die Kosten pro Teilnehmer:in zurück.
toString(): String
Beispiel:
50 Teilnehmer:innen, Bezeichnung: Firmenfeier
Veranstalter: Event GmbH
Kosten: 2000.0 EUR, Kosten pro Teilnehmer:in: 40.0 EUR
TeilnehmerEvent
TeilnehmerEvents sind Events.
TeilnehmerEvent(teilnehmer, bezeichnung, veranstalter, teilnehmerPreis)
Der Teilnehmerpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Gesamtkosten sind die Teilnehmeranzahl multipliziert mit dem Teilnehmerpreis.
toString(): String
Die Ausgabe beginnt mit TeilnehmerEvent:.
PauschalEvent
PauschalEvents sind Events.
PauschalEvent(teilnehmer, bezeichnung, veranstalter, pauschalPreis)
Der Pauschalpreis muss größer als 0.0 sein.
kostenGesamt(): float
Die Methode liefert den Pauschalpreis.
toString(): String
Die Ausgabe beginnt mit PauschalEvent:.
27. Bootsverleih
Bootsverleih
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ BootMiete │
├──────────────────────────────────┤
│ - stunden: int │
│ - boot: String │
│ - kunde: String │
├──────────────────────────────────┤
│ + BootMiete(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ StundenBoot │ │ PauschalBoot │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - pauschale: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + StundenBoot(...) │ │ + PauschalBoot(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse BootMiete
BootMiete(stunden, boot, kunde)
Es wird eine BootMiete mit der übergebenen Anzahl der Stunden, dem Namen des Bootes und dem Namen der Kund:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProStunde(): double
Die Methode liefert den Preis pro Stunde zurück.
toString(): String
Beispiel:
4 Stunden, Boot: Sea Star
Kund:in: Patrick
Preis: 200.0 EUR, Preis pro Stunde: 50.0 EUR
StundenBoot
StundenBoote sind BootMieten.
StundenBoot(stunden, boot, kunde, stundenPreis)
Der Stundenpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Ausgabe beginnt mit StundenBoot:.
PauschalBoot
PauschalBoote sind BootMieten.
PauschalBoot(stunden, boot, kunde, pauschale)
Die Pauschale muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert die Pauschale.
toString(): String
Die Ausgabe beginnt mit PauschalBoot:.
28. Flugschule
Flugschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ FlugUnterricht │
├──────────────────────────────────┤
│ - stunden: int │
│ - flugzeug: String │
│ - flugLehrer: String │
├──────────────────────────────────┤
│ + FlugUnterricht(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProStunde(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelFlug │ │ FlugPaket │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelFlug(...) │ │ + FlugPaket(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse FlugUnterricht
FlugUnterricht(stunden, flugzeug, flugLehrer)
Es wird ein FlugUnterricht mit der übergebenen Anzahl der Stunden, der Flugzeugbezeichnung und dem Namen der Fluglehrer:in erzeugt.
get- und set-Methoden
- Die Anzahl der Stunden muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProStunde(): double
Die Methode liefert den Preis pro Flugstunde zurück.
toString(): String
Beispiel:
3 Stunden, Flugzeug: Cessna 172
Fluglehrer:in: Martin
Preis: 600.0 EUR, Preis pro Stunde: 200.0 EUR
EinzelFlug
EinzelFlüge sind FlugUnterrichte.
EinzelFlug(stunden, flugzeug, flugLehrer, stundenPreis)
Der Stundenpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist Stunden multipliziert mit dem Stundenpreis.
toString(): String
Die Ausgabe beginnt mit EinzelFlug:.
FlugPaket
FlugPakete sind FlugUnterrichte.
FlugPaket(stunden, flugzeug, flugLehrer, paketPreis)
Der Paketpreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Paketpreis.
toString(): String
Die Ausgabe beginnt mit FlugPaket:.
29. Kochschule
Kochschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ KochKurs │
├──────────────────────────────────┤
│ - einheiten: int │
│ - thema: String │
│ - koch: String │
├──────────────────────────────────┤
│ + KochKurs(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ PrivatKochkurs │ │ GruppenKochkurs │
├────────────────────────────┤ ├────────────────────────────┤
│ - einzelPreis: float │ │ - kursPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + PrivatKochkurs(...) │ │ + GruppenKochkurs(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse KochKurs
KochKurs(einheiten, thema, koch)
Es wird ein KochKurs mit der übergebenen Anzahl der Einheiten, dem Thema und dem Namen der Köch:in erzeugt.
get- und set-Methoden
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
preisGesamt(): float
Die Methode ist abstrakt.
preisProEinheit(): double
Die Methode liefert den Preis pro Einheit zurück.
toString(): String
Beispiel:
4 Einheiten, Thema: Italienische Küche
Köch:in: Marco
Preis: 200.0 EUR, Preis pro Einheit: 50.0 EUR
PrivatKochkurs
PrivatKochkurse sind KochKurse.
PrivatKochkurs(einheiten, thema, koch, einzelPreis)
Der Einzelpreis muss größer als 0.0 sein.
preisGesamt(): float
Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Einzelpreis.
toString(): String
Die Ausgabe beginnt mit PrivatKochkurs:.
GruppenKochkurs
GruppenKochkurse sind KochKurse.
GruppenKochkurs(einheiten, thema, koch, kursPreis)
Der Kurspreis muss größer als 0.0 sein.
preisGesamt(): float
Die Methode liefert den Kurspreis.
toString(): String
Die Ausgabe beginnt mit GruppenKochkurs:.
30. Fahrschule
Fahrschule
Implementieren Sie das folgende UML Diagramm:
┌──────────────────────────────────┐
│ FahrAusbildung │
├──────────────────────────────────┤
│ - einheiten: int │
│ - schueler: String │
│ - fahrLehrer: String │
├──────────────────────────────────┤
│ + FahrAusbildung(...) │
│ + get-/set-Methoden │
│ + preisGesamt(): float │
│ + preisProEinheit(): double │
│ + toString(): String │
│ + weitere laut Angabe │
└──────────────────────────────────┘
│
△
┌───┴───────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ EinzelFahrstunde │ │ FahrstundenPaket │
├────────────────────────────┤ ├────────────────────────────┤
│ - stundenPreis: float │ │ - paketPreis: float │
├────────────────────────────┤ ├────────────────────────────┤
│ + EinzelFahrstunde(...) │ │ + FahrstundenPaket(...) │
│ + preisGesamt(): float │ │ + preisGesamt(): float │
│ + toString(): String │ │ + toString(): String │
│ + weitere laut Angabe │ │ + weitere laut Angabe │
└────────────────────────────┘ └────────────────────────────┘
Klasse FahrAusbildung
FahrAusbildung(einheiten, schueler, fahrLehrer)
Es wird eine FahrAusbildung mit der übergebenen Anzahl der Einheiten, dem Namen der Schüler:in und dem Namen der Fahrlehrer:in erzeugt.
get- und set-Methoden
Die folgenden Überprüfungen der Übergabeparameter müssen erfolgen:
- Die Anzahl der Einheiten muss mindestens
1sein. Stringsdürfen nichtnulloder leer sein.
Geben Sie im Fehlerfall erklärende Meldungen auf der Systemkonsole aus.
preisGesamt(): float
Die Methode ist hier abstrakt und muss in den ableitenden Klassen implementiert werden.
preisProEinheit(): double
Die Methode liefert den Preis pro Fahreinheit zurück. Der Gesamtpreis
wird von der Methode preisGesamt() geliefert. Die Anzahl
der Einheiten enthält das Attribut einheiten.
toString(): String
Die Methode liefert alle Informationen einer FahrAusbildung zurück.
Beispiel:
10 Einheiten, Schüler:in: Lisa
Fahrlehrer:in: Martin
Preis: 650.0 EUR, Preis pro Einheit: 65.0 EUR
EinzelFahrstunde
EinzelFahrstunden sind FahrAusbildungen.
EinzelFahrstunde(einheiten, schueler, fahrLehrer, stundenPreis)
Es wird eine EinzelFahrstunde mit den übergebenen Attribut-Werten der Superklasse FahrAusbildung und dem übergebenen Stundenpreis erzeugt.
Der Wert von stundenPreis muss größer als
0.0 sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der Gesamtpreis ist die Anzahl der Einheiten multipliziert mit dem Stundenpreis.
toString(): String
Die Methode liefert alle Informationen einer EinzelFahrstunde
beginnend mit dem Text EinzelFahrstunde: zurück.
FahrstundenPaket
FahrstundenPakete sind FahrAusbildungen.
FahrstundenPaket(einheiten, schueler, fahrLehrer, paketPreis)
Es wird ein FahrstundenPaket mit den übergebenen Attribut-Werten der Superklasse und dem übergebenen Paketpreis erzeugt.
Der Wert von paketPreis muss größer als 0.0
sein.
preisGesamt(): float
Die abstrakte Methode aus der Superklasse wird überschrieben. Der
Gesamtpreis entspricht dem Wert des Attributs
paketPreis.
toString(): String
Die Methode liefert alle Informationen eines FahrstundenPakets
beginnend mit dem Text FahrstundenPaket: zurück.
Code-Dateien
| Dateiname | Aktion |
|---|---|
| CODECode_Tanzschule_D.zip | Download |
PDF-Dokumente
| Dateiname | Aktion |
|---|---|
| PDFUebung_Tanzschule.pdf | Öffnen |
Videos
| Dateiname | Aktion |
|---|---|
| VIDEOVideo_Tanzschule_D | Abspielen |
Lernmaterialien
In Java, inheritance means that one class can reuse and extend the attributes and methods of another class.
The existing class is called the superclass (parent class). The new class is called the subclass (child class).
Java uses the keyword extends.
public class Vehicle {
private String brand;
public Vehicle(String brand) {
this.brand = brand;
}
public void drive() {
System.out.println("The vehicle is driving.");
}
public String getBrand() {
return brand;
}
}
A subclass can inherit from Vehicle:
public class Car extends Vehicle {
private int doors;
public Car(String brand, int doors) {
super(brand);
this.doors = doors;
}
public int getDoors() {
return doors;
}
}
Here, Car inherits the accessible methods of
Vehicle, for example drive() and
getBrand().
Car car = new Car("BMW", 4);
System.out.println(car.getBrand());
System.out.println(car.getDoors());
car.drive();
Output:
BMW
4
The vehicle is driving.
super(brand) calls the constructor of the
superclass.
Overriding
Method overriding means that a subclass provides its own implementation of a method that already exists in the superclass.
For example, Vehicle has:
public void drive() {
System.out.println("The vehicle is driving.");
}
The subclass Car can override this method:
public class Car extends Vehicle {
private int doors;
public Car(String brand, int doors) {
super(brand);
this.doors = doors;
}
@Override
public void drive() {
System.out.println("The car is driving.");
}
}
Now:
Car car = new Car("BMW", 4);
car.drive();
Output:
The car is driving.
@Override tells Java that this method is intended to
replace a method inherited from the superclass.
So, in short:
- Inheritance: A subclass receives attributes/methods from a superclass.
extends: Used to create inheritance.super(...): Calls the superclass constructor.- Overriding: A subclass replaces an inherited method with its own implementation.
@Override: Marks an overridden method.