Einführung in die objektorientierte Programmierung

Aufgabe 2

enum Dienstgrad {
HELFER, TRUPPFUEHRER, GRUPPENFUEHRER, ZUGTRUPPFUEHRER, ZUGFUEHRER;

public String toString(){
String name = super.toString();
name = name.substring(0,1).toUpperCase() +
name.substring(1,name.length()).toLowerCase();

return name;

// switch (this) {
// case HELFER :
// return "Helfer";
//
// case TRUPPFUEHRER :
// return "Truppfuehrer";
//
// case GRUPPENFUEHRER :
// return "Gruppenfuehrer";
//
// case ZUGTRUPPFUEHRER :
// return "Zugtruppfuehrer";
//
// case ZUGFUEHRER :
// return "Zugfuehrer";
//
// default:
// return "Gibt es nicht";
// } end of switch
}

static void printAll(){
Dienstgrad[] grade = Dienstgrad.values();
for (Dienstgrad d: grade ) {
System.out.println(d.toString());
} // end of for
}

boolean istVorgesetzterVor(Dienstgrad d){
return (this.ordinal() > d.ordinal());
}

public static void main(String[] args) {
printAll();
System.out.println(HELFER.istVorgesetzterVor(GRUPPENFUEHRER));
System.out.println(TRUPPFUEHRER.istVorgesetzterVor(HELFER));
System.out.println(GRUPPENFUEHRER.istVorgesetzterVor(GRUPPENFUEHRER));
}

}

 

Aufgabe 2

public class Geometrieobjektverwaltung {
public static void main(String[] args) {
Geometrieobjekt geometrieobjekt = null;
if (args[0].equals("Kreis"))
geometrieobjekt = new Kreis();
if (args[0].equals("Bogenstueck"))
geometrieobjekt = new Bogenstueck();
if (args[0].equals("Rechteck"))
geometrieobjekt = new Rechteck();
/* ... */
if (geometrieobjekt == null) {
System.out.println("Ein " + args[0]
+ " ist bisher nicht implementiert");
} else {
geometrieobjekt.druckeEigenschaften();
}
}
} abstract class Geometrieobjekt {
abstract void druckeEigenschaften();
} class Bogenstueck extends Geometrieobjekt{

public void druckeEigenschaften(){
System.out.println("ist nicht punktsymmetrisch");
System.out.println("ist nicht geschlossen");
};
} class Kreis extends Geometrieobjekt{

public void druckeEigenschaften(){
System.out.println("ist punktsymmetrisch");
System.out.println("ist geschlossen");
};
} class Rechteck extends Geometrieobjekt{

public void druckeEigenschaften(){
System.out.println("ist punktsymmetrisch");
System.out.println("ist geschlossen");
};
}