77 lines
1.8 KiB
Java
77 lines
1.8 KiB
Java
/**
|
|
* Diese Klasse modeliert einen Gegenstand
|
|
* mit seinem Namen und seiner Beschreibung sowie
|
|
* seinem Gewicht.
|
|
*
|
|
* @author tebe
|
|
* @version 1.0
|
|
*
|
|
*/
|
|
public class Gegenstand {
|
|
private final String name;
|
|
private final String beschreibung;
|
|
private final int gewicht;
|
|
|
|
/**
|
|
* Erzeugt einen Gegenstand mit Namen und
|
|
* Gewicht aber ohne genauere Beschreibung.
|
|
*
|
|
* Der Name darf nicht null sein und das
|
|
* Gewicht muss groesser als 0 sein.
|
|
*
|
|
* @param name Der Name des Gegenstands
|
|
* @param gewicht Das Gewicht des Gegenstands
|
|
*/
|
|
public Gegenstand(String name, int gewicht) {
|
|
this(name, "", gewicht);
|
|
}
|
|
|
|
/**
|
|
* Erzeugt einen Gegenstand mit Namen und
|
|
* Gewicht und genauere Beschreibung.
|
|
*
|
|
* Name und Beschreibung duerfen nicht null sein und das
|
|
* Gewicht muss groesser als 0 sein.
|
|
*
|
|
* @param name Der Name des Gegenstands
|
|
* @param gewicht Das Gewicht des Gegenstands
|
|
*/
|
|
public Gegenstand(String name, String beschreibung, int gewicht){
|
|
this.name = name;
|
|
this.gewicht = gewicht;
|
|
this.beschreibung = beschreibung;
|
|
if(! istDefinitionGueltig()) {
|
|
throw new IllegalArgumentException(
|
|
"Gegenstandsdefinition ist ungueltig.");
|
|
}
|
|
}
|
|
|
|
private boolean istDefinitionGueltig(){
|
|
return !(name == null || beschreibung == null || gewicht <= 0);
|
|
}
|
|
|
|
/**
|
|
* @return Der Name des Gegenstands
|
|
*/
|
|
public String gibName() {
|
|
return name;
|
|
}
|
|
|
|
/**
|
|
* Gibt die Beschreibung des Gegenstandes zurueck.
|
|
* Falls der Gegenstand ueber keine Beschreibung
|
|
* verfuegt, wird ein leerer String zurueckgegeben.
|
|
* @return Die Beschreibung des Gegenstands
|
|
*/
|
|
public String gibBeschreibung() {
|
|
return beschreibung;
|
|
}
|
|
|
|
/**
|
|
* @return Das Gewicht des Gegenstands
|
|
*/
|
|
public int gibGewicht() {
|
|
return gewicht;
|
|
}
|
|
}
|