From f8e32967de226435b0806d655876950e61dfb233 Mon Sep 17 00:00:00 2001 From: schrom01 Date: Thu, 25 Nov 2021 15:44:45 +0100 Subject: [PATCH] =?UTF-8?q?Aufgabe=203d=20ausgef=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Auto.java | 88 ++++-------------------------------------- src/Fahrrad.java | 75 ++--------------------------------- src/Fahrzeug.java | 83 +++++++++++++++++++++++++++++++++++++++ src/Motorfahrzeug.java | 19 +++++++++ src/Motorrad.java | 87 ++--------------------------------------- 5 files changed, 116 insertions(+), 236 deletions(-) create mode 100644 src/Fahrzeug.java create mode 100644 src/Motorfahrzeug.java diff --git a/src/Auto.java b/src/Auto.java index 2a69bb0..d05c4af 100644 --- a/src/Auto.java +++ b/src/Auto.java @@ -5,15 +5,10 @@ import java.util.List; * Diese Klasse speichert Informationen eines Autos. * @author Marc Rennhard */ -public class Auto +public class Auto extends Motorfahrzeug { - private String modell; - private int preis; - private int stueckzahl; - private int leistung; private int plaetze; private boolean vierradantrieb; - private List verkaeufe; /** * Konstruktor, um ein Auto zu erzeugen. @@ -22,77 +17,19 @@ public class Auto * @param stueckzahl Die verfuegbare Stueckzahl * @param leistung Die Leistung in PS * @param plaetze Die Sitzplaetze - * @param abs Ob das Auto Vierradantrieb hat + * @param Ob das Auto Vierradantrieb hat */ public Auto(String modell, int preis, int stueckzahl, int leistung, int plaetze, boolean vierradantrieb) { - this.modell = modell; - this.preis = preis; - this.stueckzahl = stueckzahl; - this.leistung = leistung; + super(modell, preis, stueckzahl, leistung); this.plaetze = plaetze; this.vierradantrieb = vierradantrieb; - verkaeufe = new ArrayList(); } - /** - * Kaufe das Auto in der gewuenschten Stueckzahl. - * @param anzahl Die gewuenschte Stueckzahl - * @param kunde Der Kunde - * @return Informationen ueber das Ergebnis des Kaufs - */ - public String kaufen(int anzahl, Kunde kunde) - { - if (anzahl <= stueckzahl) { - stueckzahl -= anzahl; - Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis); - verkaeufe.add(verkauf); - return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis)); - - } else { - return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell); - } - } + + - /** - * Liefert das Modell des Autos. - * @return Das Modell - */ - public String gibModell() - { - return modell; - } - - /** - * Setzt den Preis des Autos. - * @param preis Der Preis - */ - public void setzePreis(int preis) - { - if (preis > 0) { - this.preis = preis; - } - } - - /** - * Setze die verfuegbare Stueckzahl des Autos. - * @param stueckzahl Die Stueckzahl - */ - public void setzeStueckzahl(int stueckzahl) - { - if (stueckzahl >= 0) { - this.stueckzahl = stueckzahl; - } - } - - /** - * Liefert die Leistung des Autos. - * @return Die Leistung - */ - public int gibLeistung() - { - return leistung; - } + /** * Liefert die Anzahl Sitzplaetze des Autos. @@ -112,16 +49,5 @@ public class Auto return vierradantrieb; } - /** - * Gibt Informationen des Autos zurueck. - * @return Informationen des Verkaufs - */ - public String gibInfo() { - String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis); - resultat += "Bereits erfolgte Verkaeufe:\n"; - for (Verkauf verkauf : verkaeufe) { - resultat += verkauf.gibInfo() + "\n"; - } - return resultat; - } + } diff --git a/src/Fahrrad.java b/src/Fahrrad.java index d042b7b..fd6a026 100644 --- a/src/Fahrrad.java +++ b/src/Fahrrad.java @@ -5,13 +5,9 @@ import java.util.List; * Diese Klasse speichert Informationen eines Fahrrads. * @author Marc Rennhard */ -public class Fahrrad +public class Fahrrad extends Fahrzeug { - private String modell; - private int preis; - private int stueckzahl; private int gaenge; - private List verkaeufe; /** * Konstruktor, um ein Fahrrad zu erzeugen. @@ -22,61 +18,8 @@ public class Fahrrad */ public Fahrrad(String modell, int preis, int stueckzahl, int gaenge) { - this.modell = modell; - this.preis = preis; - this.stueckzahl = stueckzahl; + super(modell, preis, stueckzahl); this.gaenge = gaenge; - verkaeufe = new ArrayList(); - } - - /** - * Kaufe das Fahrrad in der gewuenschten Stueckzahl. - * @param stueckzahlKaufen Die gewuenschte Stueckzahl - * @param kunde Der Kunde - * @return Informationen ueber das Ergebnis des Kaufs - */ - public String kaufen(int anzahl, Kunde kunde) - { - if (anzahl <= stueckzahl) { - stueckzahl -= anzahl; - Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis); - verkaeufe.add(verkauf); - return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis)); - - } else { - return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell); - } - } - - /** - * Liefert das Modell des Fahrrads. - * @return Das Modell - */ - public String gibModell() - { - return modell; - } - - /** - * Setzt den Preis des Fahrrads. - * @param preis Der Preis - */ - public void setzePreis(int preis) - { - if (preis > 0) { - this.preis = preis; - } - } - - /** - * Setze die verfuegbare Stueckzahl des Fahrrads. - * @param stueckzahl Die Stueckzahl - */ - public void setzeStueckzahl(int stueckzahl) - { - if (stueckzahl >= 0) { - this.stueckzahl = stueckzahl; - } } /** @@ -87,17 +30,5 @@ public class Fahrrad { return gaenge; } - - /** - * Gibt Informationen des Fahrrads zurueck. - * @return Informationen des Verkaufs - */ - public String gibInfo() { - String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis); - resultat += "Bereits erfolgte Verkaeufe:\n"; - for (Verkauf verkauf : verkaeufe) { - resultat += verkauf.gibInfo() + "\n"; - } - return resultat; - } + } diff --git a/src/Fahrzeug.java b/src/Fahrzeug.java new file mode 100644 index 0000000..bbc2c7a --- /dev/null +++ b/src/Fahrzeug.java @@ -0,0 +1,83 @@ +import java.util.ArrayList; +import java.util.List; + +public class Fahrzeug { + private String modell; + private int preis; + private int stueckzahl; + private List verkaeufe; + + public Fahrzeug(String modell, int preis, int stueckzahl) { + this.modell = modell; + this.preis = preis; + this.stueckzahl = stueckzahl; + verkaeufe = new ArrayList(); + } + + + + + /** + * Kaufe das Fahrzeug in der gewuenschten Stueckzahl. + * @param anzahl Die gewuenschte Stueckzahl + * @param kunde Der Kunde + * @return Informationen ueber das Ergebnis des Kaufs + */ + public String kaufen(int anzahl, Kunde kunde) + { + if (anzahl <= stueckzahl) { + stueckzahl -= anzahl; + Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis); + verkaeufe.add(verkauf); + return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis)); + + } else { + return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell); + } + } + + /** + * Liefert das Modell des Fahrzeugs. + * @return Das Modell + */ + public String gibModell() + { + return modell; + } + + /** + * Setzt den Preis des Fahrzeugs. + * @param preis Der Preis + */ + public void setzePreis(int preis) + { + if (preis > 0) { + this.preis = preis; + } + } + + /** + * Setze die verfuegbare Stueckzahl des Fahrzeugs. + * @param stueckzahl Die Stueckzahl + */ + public void setzeStueckzahl(int stueckzahl) + { + if (stueckzahl >= 0) { + this.stueckzahl = stueckzahl; + } + } + + /** + * Gibt Informationen des Fahrzeugs zurueck. + * @return Informationen des Verkaufs + */ + public String gibInfo() { + String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis); + resultat += "Bereits erfolgte Verkaeufe:\n"; + for (Verkauf verkauf : verkaeufe) { + resultat += verkauf.gibInfo() + "\n"; + } + return resultat; + } + +} diff --git a/src/Motorfahrzeug.java b/src/Motorfahrzeug.java new file mode 100644 index 0000000..e66587e --- /dev/null +++ b/src/Motorfahrzeug.java @@ -0,0 +1,19 @@ +public class Motorfahrzeug extends Fahrzeug{ + + private int leistung; + + public Motorfahrzeug(String modell, int preis, int stueckzahl, int leistung) { + super(modell, preis, stueckzahl); + this.leistung = leistung; + } + + /** + * Liefert die Leistung des Motorfahrzeugs. + * @return Die Leistung + */ + public int gibLeistung() + { + return leistung; + } + +} diff --git a/src/Motorrad.java b/src/Motorrad.java index 9db9bfc..6c4edb1 100644 --- a/src/Motorrad.java +++ b/src/Motorrad.java @@ -5,14 +5,9 @@ import java.util.List; * Diese Klasse speichert Informationen eines Motorrads. * @author Marc Rennhard */ -public class Motorrad +public class Motorrad extends Motorfahrzeug { - private String modell; - private int preis; - private int stueckzahl; - private int leistung; private boolean abs; - private List verkaeufe; /** * Konstruktor, um ein Motorrad zu erzeugen. @@ -24,72 +19,10 @@ public class Motorrad */ public Motorrad(String modell, int preis, int stueckzahl, int leistung, boolean abs) { - this.modell = modell; - this.preis = preis; - this.stueckzahl = stueckzahl; - this.leistung = leistung; + super(modell, preis, stueckzahl, leistung); this.abs = abs; - verkaeufe = new ArrayList(); - } - - /** - * Kaufe das Motorrad in der gewuenschten Stueckzahl. - * @param stueckzahlKaufen Die gewuenschte Stueckzahl - * @param kunde Der Kunde - * @return Informationen ueber das Ergebnis des Kaufs - */ - public String kaufen(int anzahl, Kunde kunde) - { - if (anzahl <= stueckzahl) { - stueckzahl -= anzahl; - Verkauf verkauf = new Verkauf(kunde, anzahl, anzahl * preis); - verkaeufe.add(verkauf); - return String.format("%s hat %d Stueck des Modells %s zu insgesamt CHF %d gekauft", kunde.gibInfo(), anzahl, modell, (anzahl * preis)); - - } else { - return String.format("Es hat leider nur noch %d Stueck des Modells %s an Lager", stueckzahl, modell); - } - } - - /** - * Liefert das Modell des Motorrads. - * @return Das Modell - */ - public String gibModell() - { - return modell; - } - - /** - * Setzt den Preis des Motorrads. - * @param preis Der Preis - */ - public void setzePreis(int preis) - { - if (preis > 0) { - this.preis = preis; - } - } - - /** - * Setze die verfuegbare Stueckzahl des Motorrads. - * @param stueckzahl Die Stueckzahl - */ - public void setzeStueckzahl(int stueckzahl) - { - if (stueckzahl >= 0) { - this.stueckzahl = stueckzahl; - } - } - - /** - * Liefert die Leistung des Motorrads. - * @return Die Leistung - */ - public int gibLeistung() - { - return leistung; } + /** * Liefert ob das Motorrad ABS hat. @@ -99,17 +32,5 @@ public class Motorrad { return abs; } - - /** - * Gibt Informationen des Motorrads zurueck. - * @return Informationen des Verkaufs - */ - public String gibInfo() { - String resultat = String.format("Modell %s, %d Fahrzeuge zu je CHF %d an Lager\n", modell, stueckzahl, preis); - resultat += "Bereits erfolgte Verkaeufe:\n"; - for (Verkauf verkauf : verkaeufe) { - resultat += verkauf.gibInfo() + "\n"; - } - return resultat; - } + }