Guten Tag an alle,
ist es sinnvoll, feststehende Informationen in ein Enum zu meißeln?
Wenn nicht: was spricht dagegen, wie hätte man es besser machen können?
Problemlose Erweiterung und Implementierung steht dabei im Vordergrund.
ist es sinnvoll, feststehende Informationen in ein Enum zu meißeln?
Wenn nicht: was spricht dagegen, wie hätte man es besser machen können?
Problemlose Erweiterung und Implementierung steht dabei im Vordergrund.
Java:
public class SystemRobotService
{
public static void main(String[] args)
{
Planet planetA = new Planet(Sternsystem.STERN_A_PLANET_A.getName(), Sternsystem.STERN_A_PLANET_A.getDurchmesser(), Sternsystem.STERN_A_PLANET_A.getTemperatur());
Planet planetB = new Planet(Sternsystem.STERN_A_PLANET_B.getName(), Sternsystem.STERN_A_PLANET_B.getDurchmesser(), Sternsystem.STERN_A_PLANET_B.getTemperatur());
Kunde kunde = new Kunde();
kunde.addToPlanetList(planetA);
kunde.addToPlanetList(planetB);
kunde.getListInformation();
}
}
/** Konsolenausgabe */
Name: Planet A, Durchmesser: 1000.0, Temperatur: 15.4
Name: Planet B, Durchmesser: 2000.0, Temperatur: 32.6
Java:
enum Sternsystem
{
STERN_A_PLANET_A("Planet A", 1000, 15.4), STERN_A_PLANET_B("Planet B", 2000, 32.6);
private final String name;
private final double durchmesser;
private final double temperatur;
private Sternsystem(String name, double durchmesser, double temperatur)
{
this.name = name;
this.durchmesser = durchmesser;
this.temperatur = temperatur;
}
public String getName()
{
return name;
}
public double getDurchmesser()
{
return durchmesser;
}
public double getTemperatur()
{
return temperatur;
}
}
Java:
public interface Planetable
{
abstract String getOrbitProperties();
abstract String getPhysicalProperties();
abstract String getAtmosphericProperties();
}
Java:
class Planet implements Planetable
{
private final String name;
private final double durchmesser;
private final double temperatur;
public Planet(String name, double durchmesser, double temperatur)
{
this.name = name;
this.durchmesser = durchmesser;
this.temperatur = temperatur;
}
@Override
public String toString()
{
String text;
text = "Name: " + this.name + ", Durchmesser: " + this.durchmesser + ", Temperatur: " + this.temperatur;
return text;
}
protected String getName()
{
return name;
}
protected double getDurchmesser()
{
return durchmesser;
}
protected double getTemperatur()
{
return temperatur;
}
/**
* All die Methoden sollen noch ausgebaut werden.
*/
@Override
public String getOrbitProperties()
{
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getPhysicalProperties()
{
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getAtmosphericProperties()
{
throw new UnsupportedOperationException("Not supported yet.");
}
}
Java:
class Kunde
{
private final List<Planet> planets;
Kunde()
{
this.planets = new ArrayList<>();
}
protected void addToPlanetList(Planet planet)
{
this.planets.add(planet);
}
protected void removeFromPlanetList(Planet planet)
{
if (!this.planets.contains(planet)) {
throw new IllegalArgumentException("Planet ist nicht in der Liste enthalten");
} else {
this.planets.remove(planet);
}
}
protected void getListInformation()
{
planets.forEach((p) -> {
System.out.println(p.toString());
});
}
}