Hallo,
Ich habe eine weitere Frage zu Exceptions/Vererbung und zwar habe ich folgende Aufgabe:
Schreiben Sie eine Klasse Lager, die es erlaubt Lagerartikel in einer ArrayList zu verwalten. Implementieren Sie Methoden zum Anzeigen aller Artikel und zum Einfügen und Suchen von einzelnen Artikeln nach der Modellbezeichnung. Wird ein Artikel bei der Suche nicht gefunden soll eine Exception geworfen werden. Definieren Sie dazu eine eigene Exceptionklasse. Die ANzeige soll sortiert nach ArtikelCode erfolgen.
Was ich nicht verstehe ist wie kann ich im Lager nach dem Attribut Modell suchen wenn eigentlich nur die Klasse Stichsäge über Modell verfügt? Hier mal mein Code:
Klasse LagerArtikel
Klasse HeimwerkerGeraet
Klasse Stichsäge
Klasse Lager
Klasse LagerException
Ich habe eine weitere Frage zu Exceptions/Vererbung und zwar habe ich folgende Aufgabe:
Schreiben Sie eine Klasse Lager, die es erlaubt Lagerartikel in einer ArrayList zu verwalten. Implementieren Sie Methoden zum Anzeigen aller Artikel und zum Einfügen und Suchen von einzelnen Artikeln nach der Modellbezeichnung. Wird ein Artikel bei der Suche nicht gefunden soll eine Exception geworfen werden. Definieren Sie dazu eine eigene Exceptionklasse. Die ANzeige soll sortiert nach ArtikelCode erfolgen.
Was ich nicht verstehe ist wie kann ich im Lager nach dem Attribut Modell suchen wenn eigentlich nur die Klasse Stichsäge über Modell verfügt? Hier mal mein Code:
Klasse LagerArtikel
Java:
public abstract class LagerArtikel {
private static final long groessterArtikelCode = 16012012;
private int regalNr = 0;
private int fachNr = 0;
private int artikelCode;
public LagerArtikel(int regalNr, int fachNr, int artikelCode) {
if ( regalNr <= 0 )
throw new IllegalArgumentException( "Keine RegalNr <= 0 erlaubt!" );
this.regalNr = regalNr;
if ( fachNr <= 0 )
throw new IllegalArgumentException( "Keine FachNr <= 0 erlaubt!" );
this.fachNr = fachNr;
if ( artikelCode <= 0 )
throw new IllegalArgumentException( "Kein ArtikelCode <= 0 erlaubt!" );
this.artikelCode = artikelCode;
}
public void setRegalNr(int regalNr) {
this.regalNr = regalNr;
regalNr++;
}
public void setFachNr(int fachNr) {
this.fachNr = fachNr;
fachNr++;
}
public void setArtikelCode(int artikelCode) {
this.artikelCode = artikelCode;
}
public int getRegalNr(){
return regalNr;
}
public int getFachNr(){
return fachNr;
}
public int getArtikelCode(){
if(artikelCode < 0)
throw new IllegalArgumentException("Fehler, artikelCode muss positiv sein!");
return artikelCode;
}
}
Klasse HeimwerkerGeraet
Java:
public abstract class HeimwerkerGeraet extends LagerArtikel {
private String hersteller;
private String geraeteklasse;
public HeimwerkerGeraet(int regalNr, int fachNr, int artikelCode, String hersteller, String geraeteklasse){
super(17, fachNr, artikelCode);
this.hersteller = hersteller;
this.geraeteklasse = geraeteklasse;
regalNr = 17;
}
}
Klasse Stichsäge
Java:
import java.util.Calendar;
public class Stichsaege extends HeimwerkerGeraet {
private int watt;
private String Modell;
public Stichsaege(int regalNr, int fachNr, int artikelCode,
String hersteller, String geraeteklasse, int watt, String modell) {
super(regalNr, fachNr, artikelCode, hersteller, geraeteklasse);
this.watt = watt;
Modell = modell;
fachNr = Calendar.getInstance().get(DAY_OF_WEEK);
}
}
Java:
import java.util.ArrayList;
public class Lager {
private ArrayList<LagerArtikel> lagerartikel;
public Lager() {
super();
this.lagerartikel = new ArrayList<LagerArtikel>();
}
public ArrayList<LagerArtikel> getLagerartikel() {
return lagerartikel;
}
public void add(LagerArtikel la) {
lagerartikel.add(la);
}
public void durchsuche(){
if (lagerartikel.contains("Item 1")) {
System.out.println("True");
} else {
throw new LagerException(getModell(),"Dieses Modell ist nicht vorhanden");
}
}
public String toString() {
return "Lager [lagerartikel=" + lagerartikel + "]";
}
}
Klasse LagerException
Java:
public class LagerException extends Exception
{
String Modell;
String meldung;
private static final long serialVersionUID = 1L;
public LagerException(String modell, String meldung) {
super();
Modell = modell;
this.meldung = meldung;
}
public String toString() {
return "***** Fehler bei Konto " + Modell + "\n***** " + meldung;
}
}
Zuletzt bearbeitet von einem Moderator: