From dd1186c61f0e650bf36bc50073240d8326f0fafe Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Wed, 30 Oct 2019 15:03:29 +0100 Subject: [PATCH] Klassen erweitert --- src/de/itstall/Lager.java | 54 ++++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/src/de/itstall/Lager.java b/src/de/itstall/Lager.java index 38d6e00..2f42cf3 100644 --- a/src/de/itstall/Lager.java +++ b/src/de/itstall/Lager.java @@ -1,9 +1,29 @@ package de.itstall; +import java.util.ArrayList; + /** * Klasse zur Verwaltung der Lager */ public class Lager { + private int regalLagerplaetze; + + /** Liste der Regale im aktuellen Lager */ + ArrayList<Regal> lagerListe = new ArrayList<>(); + + /** + * Der Konstruktor legt gleich schon mal ein Regal an und legt auch die Lagerplaetze pro Regal fest + * + * @param lagerplaetze : int : Anzahl der Etagen pro Regal + */ + void Lager(int lagerplaetze) { + this.regalLagerplaetze = lagerplaetze; + this.addRegal(this.regalLagerplaetze); + } + + public int getRegalLagerplaetze() { + return this.regalLagerplaetze; + } /** * Fuegt dem Lager ein Regal hinzu @@ -11,17 +31,20 @@ public class Lager { * @param lagerplaetze : int : Anzahl der Etagen */ public void addRegal(int lagerplaetze) { - + this.lagerListe.add(new Regal(lagerplaetze)); } /** * Klasse zur Verwaltung der Regale * Ein Regal kan max. fÞnf Lagerplaetze besitzen */ - private class Regal { + private class Regal extends Lager { + + /** Liste der Lagerplaetze in dem aktuellen Regal */ + ArrayList<Lagerplatz> lagerplaetzListe = new ArrayList<>(); /** - * Anzahl der Lagerplaetze (Regal-Etagen) + * Anzahl der freien Lagerplaetze in diesem Regal */ private int lagerplaetze; @@ -29,9 +52,12 @@ public class Lager { * Konstruktor * * @param lagerplaetze : int : Anzahl der Lagerplaetze + * @return boolean : Erfolgreich? */ - public void Regal(int lagerplaetze) { - this.setLagerplaetze(lagerplaetze); + public Regal(int lagerplaetze) { + if(lagerplaetze > 0 && lagerplaetze <= 5) { + this.setLagerplaetze(lagerplaetze); + } } /** @@ -50,16 +76,31 @@ public class Lager { * * @param lagerplaetze : int : Anzahl der Lagerplaetze */ - public void setLagerplaetze(int lagerplaetze) { + private void setLagerplaetze(int lagerplaetze) { this.lagerplaetze = lagerplaetze; } + public void einlagern() { + if(this.lagerplaetze > 0) { + this.lagerplaetze--; + } else { + super.addRegal(super.getRegalLagerplaetze()); + } + } + + public void entnehmen() { + this.lagerplaetze++; + } + /** * Klasse zur Verwaltung der Lagerplaetze * Ein Regal kann max. fuenf Lagerplaetze haben. */ private class Lagerplatz { + /** Liste der Waren im aktuellen lagerplatz */ + ArrayList<String> lagerWarenListe = new ArrayList<>(); + /** * Objekt auf einem Lagerplatz einlagern * @@ -67,6 +108,7 @@ public class Lager { * @return Object : Lagerplatz */ public Object einlagern(Object o) { + return null; } -- GitLab